mysql - 这个SQL哪不对
黄舟
黄舟 2017-04-17 15:35:58
0
3
452

1.统计任务提交情况
2.A(id,name)人员表,B(bid,aid, mission)任务提交记录表,aid 对应id,mission为字符串字段,一个人可提交多次任务,示例数据
id name
1 张三
2 李四
3 王五

bid aid mission
1 1 xxxxx
2 1 yyyyy
3 2 zzzz

sql: select A.name,if(mission<>null,1,0) as mnum from A leftjion B on B.aid= A.id orderby id
得到是
name mnum
张三 0
张三 0
李四 0
王五 0

这个if怎么不起作用的????

本来最终想得到如下效果,那么SQL怎么写
name 任务次数
张三 2
李四 1
王五 0

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

모든 응답(3)
大家讲道理

这句亲测成功

select A.name,sum(if(mission is not null,1,0)) as '任务次数' from A leftjion B on B.aid= A.id  group by A.id order by A.id desc
左手右手慢动作

SELECT NULL IS NULL, NULL IS NOT NULL, NULL = NULL, NULL <> NULL
你分别跑下 你就知道为什么你的if不起作用了。

大家讲道理

按照SQL规范,所有和NULL运算的结果都是NULL,所以对NULL的判断需要使用特殊的方法

1、IFNULL函数
2、mission<>null 改为 mession is not null

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!