我对此示例数据TrsViewPay
进行了查看:
id DocTypeRef TrsDocPayItemref
---------------------------------
1 10 16
2 20 17
3 30 18
4 40 1
首先,我不想用DocTypeRef 40显示记录。
然后我不想显示id与该记录的TrsDocPayItemref
相等的记录。
所以我想显示这个结果(没有记录1和4)
id DocTypeRef TrsDocPayItemref
---------------------------------
2 20 17
3 30 18
答案 0 :(得分:3)
拉维的答案很接近,但我认为这个会更好:
SELECT Id, DocTypeRef, TrsDocPayItemref
FROM TrsViewPay
WHERE DocTypeRef <> 40
AND Id <> (SELECT TrsDocPayItemref FROM TrsViewPay WHERE DocTypeRef = 40)
答案 1 :(得分:2)
您可以进行内部查询或子查询。您可以先选择值 DocTypeRef然后将其与id进行比较。使用第一个点作为内部查询。之后,您可以使用第一次查询的结果检索数据。
答案 2 :(得分:2)
你可以试试这个:
SELECT *
FROM TrsViewPay
WHERE DocTypeRef!=40
AND NOT TrsDocPayItemref IN (SELECT id FROM TrsViewPay )