您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Delphi >> SQL SERVER 多表查询问题,查询T1,T3表,根据查询结果写T2表

SQL SERVER 多表查询问题,查询T1,T3表,根据查询结果写T2表

来源:网络整理     时间:2016/8/16 0:21:02     关键词:

关于网友提出的“ 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

相关图片

相关文章