2011-01-27 7 views

答えて

9

まあ、理解することが最も簡単な - しかし、必ずしも最速は - おそらく、このようなものです。 (ただし、「比較」することによって他の何かを意味するかもしれません)。

-- Values in column1 that aren't in column2. 
SELECT column1 FROM query1 
WHERE column1 NOT IN (SELECT column2 FROM query2); 

-- Values in column2 that aren't in column1. 
SELECT column2 FROM query2 
WHERE column2 NOT IN (SELECT column1 FROM query1); 

-- Values common to both column1 and column2 
SELECT q1.column1 FROM query1 q1 
INNER JOIN query2 q2 ON (q1.column1 = q2.column2); 

これを1つのステートメントで行い、視覚的に比較することもできます。 FULL OUTER JOIN同じ行に一致する値を返す両方の列のすべての値、および1つの列が他の列内の値を欠落さNULL

SELECT q1.column1, q2.column2 FROM query1 q1 
FULL OUTER JOIN query2 q2 ON (q1.column1 = q2.column2); 
+0

これは結構ですが、私は、我々は2つの列を比較することはできません比較することで何かを意味 – jnivasreddy

+1

@jnivasreddy:おそらく、私たちは、あなたがそれを明確にするために、入力とあなたが期待する出力を含むいくつかのサンプルデータを、投稿する必要がありますちょうどあなたが探しているもの。元の質問を編集することができます。最後にサンプルデータを入力またはコピーし、過去のデータをコピーします。 「{}」の書式を保持するためのサンプルデータを選択し、クリック。 –

関連する問題