有关sql查询重复使用的问题

问题描述

有关sql查询重复使用的问题

看一下这样的语句行不行。

SELECT
IF(loan.custType = 0,cu.name,ecu.name) AS 借款人,
ROUND(loan.appAmount / 10000,2) AS 贷款本金(万元),
loan.rate AS 实际利率,
ROUND(CASE loan.rateType
WHEN 1 THEN loan.rate * 12
WHEN 2 THEN loan.rate * 12 * 30
ELSE loan.rate END,2) AS 年化利率,
amo.rat AS 当月实收利息,
(SELECT com.commission
FROM fc_commission AS com
WHERE com.isenabled = 1
ORDER BY com.id DESC LIMIT 1) AS 提成率,
当月实收利息 * 提成率 / 100 AS 当月应计提成
FROM fc_amountrecords AS amo
LEFT JOIN fc_loancontract AS loan  ON amo.contractId = loan.id
LEFT JOIN crm_customerinfo AS cu ON cu.id = loan.customerId
LEFT JOIN crm_ecustomer AS ecu ON ecu.id = loan.customerId;

要达到“当月应计提成”的效果需要怎样做?

解决方案

你这不行。不知道你用的是什么数据库,MS SQL SERVER和MY SQLSELECT里不能用IF,需要用CASE。另外,语句里除了在ORDER BY能用SELECT里的别名外,不能直接在其他地方用别名引用。你可以把下面的部分提取出来,剩余的部分作用From部分,把提取出来的用作SELECT,当然你可以加上新的From的其他字段。
(SELECT com.commission
FROM fc_commission AS com
WHERE com.isenabled = 1
ORDER BY com.id DESC LIMIT 1) AS 提成率,
当月实收利息 * 提成率 / 100 AS 当月应计提成

时间: 2024-09-14 09:06:27

有关sql查询重复使用的问题的相关文章

SQL查询重复数据与去除重复记录语句

例如:查询重复2次的数据并列出  代码如下 复制代码 select * from park_room where parkNum in ( select parkNum from park_room group by parkNum having count(parkNum) > 1 ) order by parkNum字段信息说明: park_room--停车位表 parkNum--车位号 例子 去除重复记录  代码如下 复制代码 SELECT COUNT(distinct parkNum)

sql查询重复记录、删除重复记录方法大全

查找所有重复标题的记录: ? 1 SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC 一.查找重复记录 1.查找全部重复记录 ? 1 Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1) 2.过滤重复记录(只显示一条) ?

总结SQL查询重复记录并删除的方法【老师说值得收藏】

查找所有重复标题的记录: SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC  一.查找重复记录 1.查找全部重复记录 Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)  2.过滤重复记录(只显示一条) Select *

sql-SQL查询重复记录,怎么写SQL。

问题描述 SQL查询重复记录,怎么写SQL. id A B B C C A A D 要得到这样的 id 数量 A 3 B 2 C 2 D 1 怎么写啊? 解决方案 select id, count(id) as 数量 from 表 group by id 解决方案二: SQL重复记录查询SQL重复记录查询SQL重复记录查询 解决方案三: SELECT id, COUNT(1) AS '数量' FROM 表 GROUP BY id ORDER BY COUNT(1) desc 解决方案四: sel

sql查询出现重复数据!!

问题描述 sql查询出现重复数据!! 想让查询结果里这个字段create_time或者content不重复,应该怎么加DISTINCT 啊 select town_name,id,tid,username,userid,school_id,school_name,class_name,send_id, content,create_time,mphone,is_read,need_revert,send_type,msg_type,parent_id, file_name,file_path,s

数据库-sql查询结果重复问题 是否表结构设计问题

问题描述 sql查询结果重复问题 是否表结构设计问题 信息表a sid scope_type begin_date end_date 1 3 2 2 3 1 scope_type(1:按全部;2:按渠道;3:按机构) 范围表b tid sid channel org_id 1 1 1 null 2 1 3 null 3 1 101 1.两表通过sid关联,没有设外键, 2.新增记录时,先写表a,再写表b 3.当scope_type=1时,则只需a表新增1条记录. 当scope_type不为1时,

SQL 查询和删除重复字段数据的方法_MsSql

例如: id           name         value 1               a                 pp 2               a                 pp 3               b                 iii 4               b                 pp 5               b                 pp 6               c           

SQL 查询和删除重复字段数据的方法

例如: id           name         value 1               a                 pp 2               a                 pp 3               b                 iii 4               b                 pp 5               b                 pp 6               c           

sql查询表里重复记录现取重复最后一条记录方法

SQL语句去掉重复记录,获取重复记录  --查询一个表中有效去掉重复的记录,UserID为自增长主键,RoleID为重复字段  代码如下 复制代码 SELECT MIN(UserID) AS UserID, RoleID FROM tmpTable GROUP BY RoleID SELECT RoleID FROM tmpTable GROUP BY RoleID HAVING (COUNT(*) > 1) SELECT DISTINCT * FROM tmpTable sql语句查询 sql