商品表格式是SPDM,SPMC,LB(表名shangpin)
商品规格1表格式是SPDM,GG1DM,GG1MC(表名GG1)
商品规格2表格式是SPDM,GG2DM,GG2MC(表名GG2)A单据格式DJBH,CKDM(表名A)
B单据格式DJBH,SPDM,GG1DM,GG2DM,SL1,SL2(表名B)想将shangpin表里的LB字段等于001的SPDM,SPMC以及所对应的GG1表里的GG1DM和GG2表里的GG2DM全插入到B表里,条件是A表的CKDM所对应DJBH在B表里没有的SPDM插入格式是 DJBH,SPDM,GG1DM,GG2DM,SL1,SL2 (DJBH和SL1,SL2都是固定值)
(一个shangpin表里的SPDM对应多个GG1表里的GG1DM和GG2表里的GG2DM)
商品规格1表格式是SPDM,GG1DM,GG1MC(表名GG1)
商品规格2表格式是SPDM,GG2DM,GG2MC(表名GG2)A单据格式DJBH,CKDM(表名A)
B单据格式DJBH,SPDM,GG1DM,GG2DM,SL1,SL2(表名B)想将shangpin表里的LB字段等于001的SPDM,SPMC以及所对应的GG1表里的GG1DM和GG2表里的GG2DM全插入到B表里,条件是A表的CKDM所对应DJBH在B表里没有的SPDM插入格式是 DJBH,SPDM,GG1DM,GG2DM,SL1,SL2 (DJBH和SL1,SL2都是固定值)
(一个shangpin表里的SPDM对应多个GG1表里的GG1DM和GG2表里的GG2DM)
select
a.DJBH,s.SPDM,g.GG1DM,c.GG2DM
,SL1 = 1
,SL2 = 1
from a
cross join shangpin s
inner join GG1 g on s.SPDM = g.SPDM
inner join GG2 c on s.SPDM = c.SPDM
where a.lb = '001'
and not exists (
select 1 from b
where a.DJBH = b.DJBH
and b.SPDM = s.SPDM
)
select 列名
(组合查询)格式就是上面部分,然后你那些固定值的话,只需要select '1' ad djbh这样替换就可以了。
select
a.DJBH,s.SPDM,g.GG1DM,c.GG2DM
,SL1 = 1
,SL2 = 1
from a
cross join shangpin s
inner join GG1 g on s.SPDM = g.SPDM
inner join GG2 c on s.SPDM = c.SPDM
where a.lb = '001'
and not exists (
select 1 from b
where a.DJBH = b.DJBH
and b.SPDM = s.SPDM
and b.GG1DM = g.GG1DM
and b.GG2DM = c.GG2DM
)
确定是否正确的方法是,先查询这个语句的select 部分,查看数据是否是你要的,是才执行整个语句