我需要合并2个表格并显示一个表格。
我已经用PHP做过了,但我想用SQL本身做。
表1:venki
code subject
10 english
11 tamil
12 history
表2:venki2
num opt1 opt2 opt3 allot
f41 12 11 10 12
我需要显示一个包含num.venki2
,opt1
,opt2
,opt3
,allot
(5列)列的表格。对于最后4列,必须从表1中获取值,例如:f41,history。泰米尔,英语,历史。
答案 0 :(得分:3)
SELECT t2.num
,J1.[Subject] AS Opt1
,J2.[Subject] AS Opt2
,J3.[Subject] AS Opt3
,J4.[Subject] AS allot
FROM venki2 t2 LEFT JOIN venki J1
ON t2.opt1 = J1.Code
LEFT JOIN venki J2
ON t2.opt2 = J2.Code
LEFT JOIN venki J3
ON t2.opt3 = J3.Code
LEFT JOIN venki J4
ON t2.allot = J4.Code
在Subject周围使用方括号,因为它是sql server中的key word
。
Working SQL FIDDLE
答案 1 :(得分:0)
select venky2.num, TBLOPT1.[subject],
TBLOPT2.[subject], TBLOP3.[subject],
TBLALLOT.[subject]
from venky2, venky as TBLOPT1, venky as TBLOPT2, venky as TBLOP3, venky as TBLALLOT
left join TBLOPT1 on venky2.opt1=TBLOPT1.code
left join TBLOPT2 on venky.opt2=TBLOPT2.code
left join TBLOP3 on venky2.opt3=TBLOP3.code
left join TBLALLOT on venky2.allot=TBLALLOT.code