我正在尝试通过JOINS查找2个不同的结果。
表看起来像;

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年注册的成员?

提前thnx。

最佳答案

SELECT member_id
  FROM records a
 WHERE registered_year = 2012
   AND NOT EXISTS (SELECT null
                     FROM records b
                    WHERE a.member_id = b.member_id
                      AND b.registered_year = 2013)

关于mysql - MySQL-JOINS(异常(exception)),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17354182/

10-13 01:34