我試圖從表中返回DISTINCT
ID(如果它符合特定條件)。根據少數條件返回不同的ID
- 的ID必須包含的1,26,33,49(全部)CID
- 的ID不應該包含38或46或67
這裏CID是表。
這是我到目前爲止有:如果
SELECT DISTINCT(c1.id) FROM cte c1
LEFT JOIN cte c2
ON c1.id = c2.ID
AND c2.CID = 38
where c2.id IS null
這隻能我指定不應該呈現一個ID。如果我有
AND c2.CID IN (38,46,67)
替換此
AND c2.CID = 38
這不會回到我正確的ID。另外,如果我爲c1.CID
添加條件以包含ID 1,26,33,49
它也會返回不正確的ID。
根據這個示例表,我應該只能找回ID 12345
。
這裏的SQLFIDDLE.
我試圖讓這個輸出,而不使用subquery
。
有什麼建議嗎?
我不明白爲什麼這個查詢不起作用:「從yourTable中選擇不同的ID,其中CID在(1,26,33,49)」 – FLICKER
這是行不通的。一個'ID'可以有多個不同的'CID'。如果我只做一個選擇,那麼它只會排除該行,但它不會排除該ID。 – smr5
@burzum'criteria'是複數,單數是'標準',因此'標準'不是一個單詞。 –