2016-12-15 3 views
-1

私はクエリを作成して立ち往生する必要があります。 WHERE x = xでは助けが必要ですが、nullを入力しないでください。WHEREレスポンスがクエリーされていません。nullを入力してください。

例。

SELECT 
    a.value1, a.value2, 
    b.vlaue1, b.value2, 
    c.value1 
FROM 
    columnX a, 
    columnY b, 
    columnZ c 
WHERE 
    a.value1 = b.value3 
    and b.value2 = c.value4 
    and c.value1 = a.value5 
     or c.value1 is null 

最後にc.value1のWHERE句をチェックするか、値にNULL値を入力しないでください。今はチョークとループのようです。使用結合構文を

+4

がJOIN' sintaxis '明示的な使用を推進し、アーロン・ベルトランは素晴らしい記事[古いスタイルを使用してJOINをキックする悪い習慣]を書きました: //sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx)を参照してください。 –

+1

実際にcolumnXなどのテーブルとvalue1という名前のカラムなどはありますか?絶対に恐ろしい! – jarlh

答えて

3

は、Cのために参加左:(のhttp:

SELECT 
    a.value1, a.value2, 
    b.vlaue1, b.value2, 
    c.value1 
FROM columnX a 
INNER JOIN columnY b 
    on a.value1 = b.value3 
LEFT JOIN columnZ c 
    on b.value2 = c.value4 
    and c.value1 = a.value5 
+0

LEFT JOINが答えと思われています。私はしかし、応答を見て、さらに私は理由を参照して調査した後に、JOINを試みた。 – cw2

関連する問題