繁体   English   中英

多次加入同一列

[英]Join on same column multiple times

如何多次加入同一列,其中一个表是带有值的配置表,另一个是数据表。

T1:

ID    Seq    Code1     Code2     Code3
 1    001    101        203        305
 1    002    107
 2    001    103
 3    005               213
 4    009                          320
 5    001    101                   314             

T2(配置表):

Value           Description
 101             Strawberry
 103             Raspberry    
 107             Blueberry
 111             Banana
 203             Cashews
 213             Almonds
 305             Bellpepper
 320             Tomatoes
 314             Potatoes

我需要显示每个 ID 的代码及其相关描述。

预期 Output:

ID       Code1    Description  Code2  Description  Code3 Description
1        101      Strawberry   203    Cashews      305    Bellpepper
1        107      Blueberry
2        103      Raspberry
3                              213     Almonds
4                                                  320     Tomatoes
5        101     Strawberry                        314     Potatoes

这是我到目前为止所尝试的,但是,它并没有给我想要的 output:

    select distinct ID,code1, T2.description, 
    code2, T2.description, code3, T2.description 
    from T1,T2
    where (T1.Code1=T2.Value OR T1.Code2=T2.Value or T1.Code3=T2.Value)

我怎样才能做到这一点? 抱歉,如果我的问题令人困惑,如果需要,我可以提供更多详细信息。

这是与t2表的多重外连接:

select a.id, a.seq,
  a.code1, d1.description,
  a.code2, d2.description,
  a.code3, d3.description
from t1 a left join t2 d1 on a.code1 = d1.value
          left join t2 d2 on a.code2 = d2.value
          left join t2 d3 on a.code3 = d3.value
order by a.id, a.seq;

   ID SEQ      CODE1 DESCRIPTIO      CODE2 DESCRIPTIO      CODE3 DESCRIPTIO
----- --- ---------- ---------- ---------- ---------- ---------- ----------
    1 001        101 Strawberry        203 Cashews           305 Bellpepper
    1 002        107 Blueberry
    2 001        103 Raspberry
    3 005                              213 Almonds
    4 009                                                    320 Tomatoes
    5 001        101 Strawberry                              314 Potatoes

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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