我认为这段代码可以进行一些修改,但我不确定如何引用表名和列名,或者如何比较值。
SELECT a.id
FROM a LEFT JOIN b ON a.id = b.a_id
WHERE b.id IS NULL;
我有两个表,组和用户。 Groups是所有可用组的列表,如下所示:
| group | mission |
| test | just testing |
| design | still testing |
| rand | last one |
用户是用户列表:
| user | group |
| me | test |
| me | rand |
| you | test |
| you | design |
一次只能查询一个用户。如果查询是在用户“我”上运行的,那么它应该返回:
| group |
| design |
所以我认为它会是这样的:
select group from groups where username = "me" and ....
这就是我迷路的地方。
答案 0 :(得分:2)
你的第一个猜测几乎是正确的:
http://sqlfiddle.com/#!9/eca9b/3
SELECT g.*
FROM groups g
LEFT JOIN users u
ON u.group = g.group
AND u.user = 'me'
WHERE u.user IS NULL;
答案 1 :(得分:1)
我不确定我是否理解你的问题,因为它不是很清楚,但基于标题,我想你需要做这样的事情:
SELECT * FROM Table1 WHERE Table1.User NOT IN (SELECT user FROM Table2)