2013-07-04 4 views
17

私は簡単な答えを見つけることができません。私のクエリは間違った結果を吐き出しています。実際の結合として "AND"が表示されないためです。postgresテーブルに2つの列で結合しますか?

あなたはこのような何かを行うことができない場合は、正しいアプローチです:

SELECT * from X 
LEFT JOIN Y 
ON 
    y.date = x.date AND y.code = x.code 

は?

+1

が実際の結果である:実際には、あなたは1 は、例えば、キー列に関連する、またはすべてでさえ表ではないとしても、ON句で任意の条件を置くことができますか? –

+2

構文は正しいです。そうしないと、エラーメッセージが表示されます。 「間違った結果を吐き出す」というあなたの説明は、あなたの問題については何も教えてくれません。いくつかのサンプルデータと期待される出力を表示しなければなりません。理想的には、http://sqlfiddle.comで少しの例を作成する –

答えて

14

いいです。期待されている何

SELECT * from X 
LEFT JOIN Y 
    ON y.date = x.date 
    AND y.code = x.code 
    AND EXTRACT (dow from current_date) = 1 
関連する問題