我正在運行SQL查詢,其中包含一些「id's」的while約束。 例如:SQL - 剩餘部分/不屬於
SELECT table.id
FROM TableOne table
WHERE table.id IN (1, 2, 3, 4)
AND some conditions
查詢可能返回[1,2]理所當然地認爲某些條件得到滿足。我將如何去返回[3,4],即所有的ID都不符合條件,但仍然是我想包含的列表的一部分?
感謝
我正在運行SQL查詢,其中包含一些「id's」的while約束。 例如:SQL - 剩餘部分/不屬於
SELECT table.id
FROM TableOne table
WHERE table.id IN (1, 2, 3, 4)
AND some conditions
查詢可能返回[1,2]理所當然地認爲某些條件得到滿足。我將如何去返回[3,4],即所有的ID都不符合條件,但仍然是我想包含的列表的一部分?
感謝
如果這是你如何讓ID的結果要包括和符合條件
SELECT table.id
FROM TableOne table
WHERE table.id IN (1, 2, 3, 4)
AND some conditions
那麼,這是如何獲得ID的結果要包括但不符合條件
SELECT table.id
FROM TableOne table
WHERE table.id IN (1, 2, 3, 4)
AND NOT (some conditions)
我認爲這是OP所要求的,但這可能不完全正確。如果id'3'不在表格中,該怎麼辦?如果OP想要將其顯示爲輸出,則您的解決方案不正確。如果他不這樣做,那麼你的解決方案是完美的。 – ughai
您可以創建你的ID列表的表,然後從你的查詢做了EXCEPT
。
SELECT ID FROM
(
SELECT 1 ID
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4
)List
EXCEPT
SELECT table.id
FROM TableOne table
WHERE table.id IN (1, 2, 3, 4)
AND some conditions
假設:如果您的表不包含在查詢中列出的ID,下面的查詢仍然會返回該ID。
SELECT table.id
FROM TableOne table
WHERE table.id IN (1, 2, 3, 4)
AND NOT some conditions
它應該返回你的結果
你使用的是sql server還是mysql? – ughai
請向我們展示示例輸出。你的問題不清楚。 –