2016-09-21 17 views
-1

たとえば、私は貨物出荷テーブルを持ち、そのテーブルには2つの列があります。起源と目的地。選択したステートメントから取得した結果が、これらの列の値が同じであれば除外されるように、どうすればよいでしょうか?SQL - 2つの列に同じデータがある場合、テーブルから結果を除外する方法

より具体的には、OriginとDestinationの両方が 'Chicago'に等しい行を持つことができます。また、Origin または Destinationをシカゴとして持つ行を除外しないで、その行を除外する方法を教えてください。あなたが出発地と目的地があるすべての項目を除外したい場合

+0

のために申し訳ありませんが、私は、それだけで特定の出発地と目的地のためであることを追加したはずですが彼らは両方の例だった 'ダラス'私はそれが表示されることを望むだろうが、彼らは両方の 'シカゴ'私はそれを表示したくない場合 ' –

答えて

6
SELECT 
    * 
FROM 
    Cargo 
WHERE 
    Origin != Destination 
+0

これは完全にありがとう!他のすべての複製が許可されるように、発信元と宛先の特定の名前を除外する方法を知っていますか? –

+0

最後の質問を明確にしてもらえますか?特定の値が起点と目的地の両方に表示され、それ以外の重複した値を許可する場合は、除外する方法を尋ねていますか?そうであれば、 'SELECT * FROM Cargo WHERE Origin <> 'val'またはOR Destination <> 'val''を使用することができます –

+0

これはまさに私が求めていたものです。混乱して申し訳ありません。 –

2

あなたは、出発地と目的地の両方が

SELECT * 
    FROM SHIPMENTS 
WHERE ORIGIN <> 'val' 
     OR DESTINATION <> 'val' 

かを、使用して特定の値に等しく、すべての行を除外するために、WHERE句を使用することができます値のリストで使用することができます

SELECT * 
    FROM SHIPMENTS 
WHERE ORIGIN <> DESTINATION 
     OR ORIGIN NOT IN ('list', 'of', 'vals') 
0

2つの列を比較する必要がある場合は、等しくない演算子=!を使用します。必要に応じてwhere句に<>と入力します。

選択...原産地!=先

はそれが役に立てば幸い 。ここで

あなたはNot equal <> != operator on NULL

0

はこのお試しください。この演算子についての記事がありますので、もし変更の必要

SELECT * 
FROM SHIPMENTS 
WHERE ORIGIN <> 'Chicago' AND DESTINATION <> 'Chicago' 
+0

ありがとう、私はこれを試してみましょう! like節を使用して同じ都市名で始まる結果を除外した場合、これも機能しますか?たとえば、「シカゴ%」のようなOriginNameではなく、「Chicago%」のようなDestNameである を追加した場合 –

+0

もちろん、その条件やその他の必要条件にも対応する必要があります。 – Susang

関連する問題