0
私は非常に複雑なクエリの要件を持っている、そして今私は単にデモとして2つのテーブルを使用します。MySQLでINを正しく使用するには?
mysql> select * from user_table;
+--------+------+------+
| name | dep | uid |
+--------+------+------+
| frank | IT | 1001 |
| jack | IT | 1002 |
| Sissel | FA | 1003 |
| Li | IT | 1004 |
| Mok | PM | 1005 |
+--------+------+------+
第二1:
mysql> select * from money_log;
+------+-------+
| uid | money |
+------+-------+
| 1001 | 9989 |
| 1001 | 89 |
| 1001 | 189 |
| 1002 | 389 |
+------+-------+
そして私はでお金を合計してみてください:
SELECT uid, sum(money) as moneys
FROM money_log
WHERE uid in (
SELECT uid
FROM user_table
WHERE dep='IT'
)
GROUP BY uid;
結果は以下のとおりです。私は何を期待
+------+--------+
| uid | moneys |
+------+--------+
| 1001 | 10267 |
| 1002 | 389 |
+------+--------+
は次のとおりです。
+------+--------+
| uid | moneys |
+------+--------+
| 1001 | 10267 |
| 1002 | 389 |
| 1004 | 0 |
+------+--------+
これを行うには、何か良い方法はありますか?
これはuidに 'NULL'を表示します1004 –
そのためにcoalesce()を使用してください –
@Used_byは既に動作していますが、これを行うためのハック方法はありますか?私は 'IN'を使ってこれを行うことができますか? –