-1
我有一個要求,其中我必須標識沒有對應的孩子記錄的父母記錄。例如,沒有孩子的父母sql
父表有6個記錄:A,B,C,d,E,F
兒童表1具有參考:A,B
兒童表2具有參考:C,d
因此,如何我應該形成我的查詢,它會返回結果E和F.因爲這兩個值都不在任何子表中使用。
我有一個要求,其中我必須標識沒有對應的孩子記錄的父母記錄。例如,沒有孩子的父母sql
父表有6個記錄:A,B,C,d,E,F
兒童表1具有參考:A,B
兒童表2具有參考:C,d
因此,如何我應該形成我的查詢,它會返回結果E和F.因爲這兩個值都不在任何子表中使用。
這缺乏一個強制性示例的一些信息,但我認爲你有childTable1和childTable2中的parentID,並在parentTable中的id。
這應該工作:
SELECT *
FROM parentTable p
WHERE NOT EXISTS(
SELECT 1
FROM childTable1 c1
WHERE c1.parentId = p.id)
AND NOT EXISTS(
SELECT 1
FROM childTable2 c1
WHERE c1.parentId = p.id)
感謝菲利普。它工作 – Sahil
如果你想驗證多個列,你可以添加另一個驗證到WHERE子句:'OR c1.anotherCol = p.id' –