我试图通过JOINS找到两个不同的结果。表格看起来像;
SELECT id,member_id,registered_year FROM records;我可以列出哪些会员在2012年注册,也在2013年注册;
SELECT member_id FROM records a
INNER JOIN records b ON a.member_id=b.member_id
WHERE a.registered_year='2013' AND b.registered_year='2012';但我不能列出它的版本。如何列出哪些会员是在2012年注册的,而不是在2013年注册的?
要提前做好准备。
发布于 2013-06-28 06:21:26
对于不在两个表中的用户,可以使用左连接而不是内连接,然后测试是否为null。
示例:
SELECT a.member_id
FROM records a
LEFT JOIN records b ON a.member_id = b.member_id
AND b.registered_year = '2013'
WHERE a.registered_year = '2012'
AND b.registered_year IS NULL;https://stackoverflow.com/questions/17354182
复制相似问题