例如,我有一個貨物裝運表,並在該表中有兩列;起源和目的地。我該如何做到這一點,以便我的select語句中得到的結果將被排除,如果這些列中的值相同?SQL - 如果排除表中的結果(如果它們具有兩列中的相同數據)
更具體地說,我可以有一行,其中Origin和Destination等於'Chicago',我將如何排除該行,但不排除具有Origin 或 Destination作爲Chicago的行。
例如,我有一個貨物裝運表,並在該表中有兩列;起源和目的地。我該如何做到這一點,以便我的select語句中得到的結果將被排除,如果這些列中的值相同?SQL - 如果排除表中的結果(如果它們具有兩列中的相同數據)
更具體地說,我可以有一行,其中Origin和Destination等於'Chicago',我將如何排除該行,但不排除具有Origin 或 Destination作爲Chicago的行。
SELECT
*
FROM
Cargo
WHERE
Origin != Destination
這工作完全謝謝你!你知道如何排除來源和目的地的特定名稱,以便所有其他重複項都可以被允許嗎? –
你能澄清你最後一個問題嗎?你問如何排除一個特定的值,如果它顯示爲起源和目的地,但允許其他重複值?如果是這樣,你可以使用'SELECT * FROM Cargo WHERE Origin <>'val'OR Destination <>'val'' –
這正是我所要求的,對於混淆抱歉。 –
您可以使用WHERE子句排除其中起點和終點都等於使用
SELECT *
FROM SHIPMENTS
WHERE ORIGIN <> 'val'
OR DESTINATION <> 'val'
,或者一個特定值的所有行,如果你想排除其中起點和終點都是項目在值列表中,可以使用
SELECT *
FROM SHIPMENTS
WHERE ORIGIN <> DESTINATION
OR ORIGIN NOT IN ('list', 'of', 'vals')
如果您只是需要比較兩列,請使用不等於運算符=!或<>在您的where子句中,具體取決於您的需求。
選擇... 原屬!=目標
希望它能幫助。
這裏有一個關於這個運營商後Not equal <> != operator on NULL
試試這個:在變化的要求
SELECT *
FROM SHIPMENTS
WHERE ORIGIN <> 'Chicago' AND DESTINATION <> 'Chicago'
謝謝,我會嘗試這個!如果我使用類似條款來排除以相同城市名稱開頭的結果,這也可以起作用嗎?例如,如果我添加並且 (OriginName不像'Chicago%'和DestName不像'Chicago%') –
當然它必須解決那個和其他必需的條件。 – Susang
對不起,我應該補充說,它應該只對特定的始發地和目的地,因此,如果他們都是例如'達拉斯'我想要顯示,但如果他們都'芝加哥'我不希望這顯示' –