问题:
有一个记录表 tbl_record, 字段: id,jilu,userbm;记录表里有记录数和记录人员的编码 userbm ;和tbl_user 想关联, id,bm,name ;
现在要求查询 人员曾经 记录 的次 数,同时把该人员的名字查询出来 select COUNT(tbl_record.id) as sl,tbl_user.name as username from tbl_kq_record left join tbl_dd on tbl_kq_record.dd=tbl_user.bm group by tbl_kq_record.dd
这样写不可以,因为我用到了左连接, 这个tbl_record 里面的 人员编码 可能在 tbl_user 里面已经删除,所以用到了左连接,遇到这样没有的 人员编码,查询人员记录为null 就可以,但是用左连接就出先以下问题:列 'tbl_user.name' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。谢谢,各位来帮下吧。
有一个记录表 tbl_record, 字段: id,jilu,userbm;记录表里有记录数和记录人员的编码 userbm ;和tbl_user 想关联, id,bm,name ;
现在要求查询 人员曾经 记录 的次 数,同时把该人员的名字查询出来 select COUNT(tbl_record.id) as sl,tbl_user.name as username from tbl_kq_record left join tbl_dd on tbl_kq_record.dd=tbl_user.bm group by tbl_kq_record.dd
这样写不可以,因为我用到了左连接, 这个tbl_record 里面的 人员编码 可能在 tbl_user 里面已经删除,所以用到了左连接,遇到这样没有的 人员编码,查询人员记录为null 就可以,但是用左连接就出先以下问题:列 'tbl_user.name' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。谢谢,各位来帮下吧。
解决方案 »
- jsf2.0标签ID问题 急 急 急! ! !
- 会fusionchart的牛人来
- 向高手求解
- "Could not find resource sql-map-config.xml"错误
- java.lang.ClassNotFoundException: org.springframework.orm.hbernate3.support.Open
- 急 急
- 希望老程序员帮忙指点迷津,自考问题
- 如何在JSP里分段换行,如在ASP中用htmlcode函数转换空格,回车,大于小于符号等.
- 脱掉裤衩换星星,共享我收藏的一些网址资料,散分
- server.xml和web.xml的配置问题
- js修改过名称后不能保存
- Java和IE的问题
select COUNT(a.*) ,b.name from tbl_kq_record a left join tbl_user b on a.userbm=b.bm group by a.userbm
试试
with A as(
select 1 id,1 jilu,'a' userbm
union
select 2 ,1 ,'a'
union
select 3 ,2 ,'b'
union
select 4 ,3 ,'c'
),B AS(
SELECT 1 id,'a' bm,'a1' NAME
union
SELECT 2 id,'b' bm,'b1'
)
select B.name,count(a.id) FROM A
LEFT JOIN B ON A.userbm=B.bm
GROUP BY B.NAME楼主是对的,只是把tbl_user写成了tbl_dd
NULL 1
a1 2
b1 1
select COUNT(a.*) ,b.name from tbl_record a left join tbl_user b on a.userbm=b.bm group by a.userbm 这个语句 ,执行的时候说 :列 'b.name' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
4楼的:
hyrongg你是怎么得出来的啊? 特别是你的语句,那么是怎么个意思啊?
tbl_user LEFT JOIN tbl_record ON tbl_record.id=tbl_user.id where tbl_user.name is not null) group bytbl_user.name