[英]Multiple joins between only two tables
表1:key_item#,code_1,code_2,code_3
表2:uniq_code,code_desc
表格1:
key_item# code_1 code_2 code_3
1 Y01 M02 X01
2 Y01 M04 X01
表2:
uniq_code code_desc
Y01 DescriptionY01
M02 DescriptionM02
X01 DescriptionX01
M04 DescriptionM04
更好的圖像細節https://dl.dropboxusercontent.com/u/9951225/Untitled-4.jpg
查詢結果
key_item# code_1 code_desc code_2 code_desc cod_3 code_desc
1 Y01 DescriptionY01 M02 DescriptionM02 X01 DescriptionX01
2 Y01 DescriptionY01 M04 DescriptionM04 X01 DescriptionX01
詢問
SELECT Table1.key_item#,
Table1.code_1,
Table2.code_desc,
Table1.code_2,
Table2.code_desc,
imc_iamerican_claim_lines.Add_diagnosis1
FROM msp_dx9_priority.dx09code_matrix
INNER JOIN Table1 ON Table1.code_1 = Table2.uniq_code
INNER JOIN Table1 ON Table1.code_2 = Table2.uniq_code
我無法查看“非唯一表別名”錯誤
您需要為聯接加上別名,以便查詢引擎知道如何從第二個Table1消除第一個Table1的歧義。 此處的文檔: http : //dev.mysql.com/doc/refman/5.0/en/join.html
這是一個例子:
SELECT Table1.key_item#, -- which join should this come from? code1 or code2?
t1_code1.code_1,
Table2.code_desc, -- don't know what is Table2, perhaps t1_code1?
t1_code2.code_2,
Table2.code_desc, -- don't know what is Table2, perhaps t1_code2?
imc_iamerican_claim_lines.Add_diagnosis1 -- also don't know what this is :)
FROM msp_dx9_priority.dx09code_matrix
INNER JOIN Table1 t1_code1 ON t1_code1.code_1 = Table2.uniq_code
INNER JOIN Table1 t1_code2 ON t1_code2.code_2 = Table2.uniq_code
我發現這種方法
SELECT t1.key, t1.code_1, t21.`desc` as desc_1, t1.code_2, t22.`desc` as desc2, t1.code_3, t23.`desc` as desc3 FROM t1 LEFT JOIN t2 t21 on t1.code_1 = t21.code LEFT JOIN t2 t22 ON t1.code_2 = t22.code LEFT JOIN t2 t23 ON t1.code_3 = t23.code;
以此參考,我完成了最終報告。 以防萬一有人需要它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.