您的位置:首页 > 数据库 > MySQL

mysql 子查询 将最外表带入子查询内2层 的另一种解决方法

2016-03-08 14:16 573 查看
SELECT (

select count(*) from BORROW_LIST

where DELETE_FLAG=0 and BORROW_ID=c.BORROW_ID

group by LOAN_USER_ID

) as cyrs_COUNT,sum(...) ....

from BORROW c

这样查出来的数量是多个结果,无法对应其他字段 ,并且数据 并不是总人数

LOAN_USER_ID USER_NAME ..................

1 啊啊啊

23 啵啵啵

23 纯纯粹粹

35 点点滴滴

但是如果写成下面这样 的话 是无法取到c.BORROW_ID 的

SELECT (select count(*) from (

select count(*) from BORROW_LIST

where DELETE_FLAG=0 and BORROW_ID=c.BORROW_ID

group by LOAN_USER_ID ) d

) as cyrs_COUNT,sum(...) ....

from BORROW c

那么只有这样了~~~~~换个方法

SELECT (

select count(distinct(LOAN_USER_ID)) from BORROW_LIST

where DELETE_FLAG=0 and BORROW_ID=c.BORROW_ID

) as cyrs_COUNT,sum(...) ....

from BORROW c

这样就不用再套一层子查询了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: