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

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)
大家讲道理

この文は正常にテストされました

リーリー
いいねを押す +0
左手右手慢动作

SELECT NULL IS NULL、NULL IS NOT NULL、NULL = NULL、NULL <> NULL
これらを個別に実行すると、if が機能しない理由がわかります。

いいねを押す +0
大家讲道理

SQLの仕様上、NULLに対する演算結果は全てNULLとなるため、NULLの判定には特別な方法が必要です

1. IFNULL 関数
2. ミッション

が NULL でないメッセージに変更される
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!