SQL如何翻译多个列?

时间:2017-08-08 06:23:13

标签: sql

假设我有一个表A作为':

;

A   type   code    name
    1      a       x
    1      b       y
    2      a       z
    2      b       t

我想将下表B翻译成名称:

B   c1     c2
    a      a
    a      b
    b      b

其中B.c1是A.type = 1的代码,B.c2是A.type = 2的代码。

预期结果是

x    z
x    t
y    t

如果B中只有一列需要翻译,很容易。

SELECT A.name
 FROM  A, B
WHERE  A.type = 1
  AND  B.c1=A.code

1 个答案:

答案 0 :(得分:2)

使用联接;

select a1.type,b.c1,a2.type,b.c2 from b
left outer join a as a1 on b.c1= a1.code and a1.type=1
left outer join a as a2 on b.c2= a2.code and a2.type=2