【发布时间】:2023-01-01 20:36:23
【问题描述】:
我有两个表(mysql): 渠道:
| uid | time |
|---|---|
| 1 | 23423 |
| 2 | 52422 |
| 3 | 23423 |
| 4 | 42342 |
| NULL | 345 |
用户:
| uid | id | gid |
|---|---|---|
| 1 | sam1 | 1 |
| 2 | sam2 | 2 |
| 3 | sam2 | 2 |
| 4 | sam2 | 3 |
我想为 gid=1 和 gid=2 的用户以及不存在的用户选择所有频道
我运行查询:
SELECT u.id, u.gid, c.time
FROM channels c
LEFT JOIN users u ON (u.uid=c.uid)
WHERE (u.gid IN (NULL,'1', '2'))
并且有
| uid | gid | time |
|---|---|---|
| 1 | 1 | 23423 |
| 2 | 2 | 52422 |
| 3 | 2 | 23423 |
如何为不存在的用户选择频道? 我想得到以下结果:
| uid | gid | time |
|---|---|---|
| 1 | 1 | 23423 |
| 2 | 2 | 52422 |
| 3 | 2 | 23423 |
| NULL | NULL | 345 |
【问题讨论】: