繁体   English   中英

仅两个表之间的多个联接

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM