2016-04-19 19 views
0

DE1_0_2008_TO_2010_OUTPATIENT_CLAIMS_SAMPLE_1DE1_0_2008_BENEFICIARY_SUMMARY_FILE_SAMPLE_1の2つのテーブルが同じデータベースにあります。別のテーブルでクエリ結果のLEFT JOINを実行するにはどうすればよいですか?

DE1_0_2008_TO_2010_OUTPATIENT_CLAIMS_SAMPLE_1でクエリを実行し、次にこのクエリ結果のLEFT JOINを「DE1_0_2008_BENEFICIARY_SUMMARY_FILE_SAMPLE_1」で実行する必要があります。クエリだけで1178行になりますが、これは問題ありません。しかし、LEFT JOINはできません。私はこのSQLクエリを使用しました:

SELECT * 
FROM `DE1_0_2008_TO_2010_OUTPATIENT_CLAIMS_SAMPLE_1` 
LEFT JOIN DE1_0_2008_BENEFICIARY_SUMMARY_FILE_SAMPLE_1 
ON DE1_0_2008_TO_2010_OUTPATIENT_CLAIMS_SAMPLE_1.DESYNPUF_ID = DE1_0_2008_BENEFICIARY_SUMMARY_FILE_SAMPLE_1.DESYNPUF_ID 
WHERE DE1_0_2008_TO_2010_OUTPATIENT_CLAIMS_SAMPLE_1.ICD9_DGNS_CD_1 = 7243 OR DE1_0_2008_TO_2010_OUTPATIENT_CLAIMS_SAMPLE_1.ICD9_DGNS_CD_2 = 7243 OR DE1_0_2008_TO_2010_OUTPATIENT_CLAIMS_SAMPLE_1.ICD9_DGNS_CD_3 = 7243 OR ICD9_DGNS_CD_4 = 7243 
+1

いただきましエラー?あなたが「LEFT JOINをやることができない」と言ったら、どうしてですか?何が問題なの? – BG100

+0

あなたの質問は正常です。 –

+0

エラーとは何ですか? ?? where句の最後のcolumn_nameにtable_nameがありません。 – Priyanshu

答えて

1

このクエリは技術的には問題ありません。

次のようにそれがよりエレガントに書き換えることができることに注意してください、本当にあなたは、両方のパーティションを詳しく見て取る必要があると、決定的に、正規化...

SELECT * 
    FROM DE1_0_2008_TO_2010_OUTPATIENT_CLAIMS_SAMPLE_1 o 
    LEFT 
    JOIN DE1_0_2008_BENEFICIARY_SUMMARY_FILE_SAMPLE_1 b 
    ON o.DESYNPUF_ID = b.DESYNPUF_ID 
WHERE 7243 IN(o.ICD9_DGNS_CD_1,o.ICD9_DGNS_CD_2,o.ICD9_DGNS_CD_3,o.ICD9_DGNS_CD_4); 
関連する問題