我正在使用的表有3個重要的列,用於排除表中的條目。我會打電話給他們:根據另一列的內容排除SQL搜索的結果
SampleTable:
Thing_Type (varchar)
Thing_ID (int)
Parent_ID (int)
我想找到一個特定類型的所有「葉」條目。但是,該類型的條目可能有一個不屬於該類型的子項,因此,如果不先將表格僅篩選到該類型,我不希望將其排除。然後我想要包含所有具有不存在於ParentID列中任何位置的ID的條目。
在我使用的工具中沒有EXISTS
(不是我確定它會有幫助)。
忽略的事實,我使用的工具不喜歡以下內容,這可能不是語法正確的,這是我覺得它應該是這樣的。
SELECT * FROM (
SELECT *
FROM SampleTable
WHERE SampleTable.Thing_Type = 'DesiredType'
)
WHERE Thing_ID NOT IN Parent_ID
我敢肯定,這是錯誤的,但我不知道怎麼做是正確的。
樣本數據和預期輸出通常對此類問題很有幫助,特別是當存在卷積邏輯時。它還有助於告訴人們你正在使用什麼工具以及哪種SQL變體。 –