我有两张表格如下:
表A:
AIID AID AName
1 200 'A'
2 200 'B'
3 200 'C'
4 300 'D'
5 300 'E'
6 400 'F'
7 400 'G'
Table B:
BID AIID AID AName
1 2 200 'B'
2 6 400 'F'
现在我需要从表A中获取记录,所有AIID都是由AID明智的,其AIID大于AID中的AIID,AID明智,也是任何新的AID记录。
Ex,我需要从表A中获得以下行:
AIID AID AName
3 200 'C'
4 300 'D'
5 300 'E'
7 400 'G'
有人可以建议如何为此编写查询吗?
谢谢,
答案 0 :(得分:1)
据我了解你的问题,应该这样做;
SELECT TableA.*
FROM TableA
LEFT JOIN TableB
ON TableA.AID = TableB.AID
AND TableA.AIID <= TableB.AIID
WHERE TableB.BID IS NULL;
它基本上反过来,它在A中找到B中具有更大或相等条目的所有条目并消除它们。其余的都归还了。