关于网友提出的“ SQL SERVER 多表查询问题,查询T1,T3表,根据查询结果写T2表”问题疑问,本网通过在网上对“ SQL SERVER 多表查询问题,查询T1,T3表,根据查询结果写T2表”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: SQL SERVER 多表查询问题,查询T1,T3表,根据查询结果写T2表
描述: T1表
FID,LID,FP,LP,FS,LS
21 11 C D 4 3
31 12 Q W 5 3
41 13 E A 2 1
51 25 R G 4 2
61 32 T J 6 3
T2表
LID,FPE, LPE
11 C+MN D+MN
13 E+PO A+PO
T3表
FID,PB
21 MN
41 PO
实现比较复杂,要求是T1表的FS-LS=1的记录(上面有2条,分别是FID=21,FID=41),根据这两个FID取T3表中相应的PB值(即PB=MN,PB=PO),将值写入T2表,
T2表的LID是和T1表的FID相对应的LID,FPE和LPE分别是T1表的FP+T3表的PB(即C+MN,D+MN和,E+PO,A+PO)
我想用一条SQL语句来完成,但总是在关键地方出现问题,大家可以帮忙想想吗
分不够我还可以再加
解决方案1: insert into T2 select T1.Lid,T1.Fp+'+'+T3.PB FPE,T1.Fid,T1.lp+'+'+T3.PB LPE from T1,T3 where
T1.Fid =T3.FId and T1.FS-T1.LS=1
解决方案2: insert into T2 select T1.Fid,T1.Fp+T3.PB FPE,T1.Fid,T1.lp+T3.PB LPE from T1,T3 where
T1.Fid in(select FId from T3) and T1.FS-T1.LS=1
解决方案3: select a.LID,FPE=a.FP+'+'+b.PB,LPE=a.Lp+'+'+b.PB
from T1 a,T3 b where a.FId=b.FId and a.Fs-a.Ls=1
以上介绍了“ SQL SERVER 多表查询问题,查询T1,T3表,根据查询结果写T2表”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3310725.html