SQL连接多个表

时间:2017-10-05 18:14:57

标签: sql select

我有4张桌子 A,B,C,D

表A:

 ct_no        ct_type
1010.           1
1011.           1
1012.           2
1013.           3

表B:

ct_no.        jcode
1010.           4
1012.           3
1012.           4 
1013.           7
1013.           6
1013.           4

表C:

Jcode          jname
4.                   ABC
3.                   lol
7.                   xyz

表D:

filno         orno.     fildate.      ct_no
12017.      1.                           1010
12017.      2.                           1010
12017.      3.                           1012
42017.      1.                           1010

现在我想要表c jname的表d记录,其中表c jcode是3

输出应为

filno   orno ctno  jnames
12017   1    1012  lol,ABC

2 个答案:

答案 0 :(得分:1)

试试这个:

select d.*, c.jname from tabled d 
inner join tableb b on d.ct_no=b.ct_no and b.Jcode=3
inner join tablec c on b.Jcode =c.Jcode

答案 1 :(得分:1)

你需要几个连接:

SELECT d.*
FROM   d
JOIN   b ON d.ct_no = b.ct_no
JOIN   c ON b.jcode = c.jcode
WHERE  c.jcode = 3