如何连接两个与某个表连接多次出现的表?
我有这两个表:
tableA
Name Value
================
Test 001
Car 002
Bike 003
tableB
Num T1 T2
====================
f4b 001 002
aaa 001 003
666 002 001
我如何加入这两个表来获取:
Table A+B
Num T1 T2
====================
f4b Test Car
aaa Test Bike
666 Car Test
如果我使用
SELECT tableB.Num
,tableA.NAME
,tableA.NAME
FROM tableB
INNER JOIN tableA ON tableB.T1 = tableA.Value
OR tableB.T2 = tableA.Value
我只是在所有行中得到相同的值。
由于
答案 0 :(得分:3)
我认为您正在寻找此查询:
SELECT
tB.Num 'Num',
tA1.Name 'T1',
tA2.Name 'T2'
FROM
tableB tB INNER JOIN tableA tA1 ON tB.T1 = tA1.Value
INNER JOIN tableA tA2 ON tB.T2 = tA2.Value
WHERE
tA1.Value <> tA2.Value
以下是 SQLFiddle ,了解您提供的样本数据的工作原理。
答案 1 :(得分:0)
没试过,但是
SELECT tableB.Num
,tableA.NAME
,tableA.NAME
FROM tableB
,tableA
WHERE tableB.T1 = tableA.Value
OR tableB.T2 = tableA.Value