SQL Server 中多次查询结果合并互补?

环境:假设有表A、B,每张表有15个字段,字段名称、类型、顺序均相同.
问题:分两次查询,每次查询一张表,表A查询1、3、5、7、9列数据,表B查询2、4、 6、8、10列数据,同时两张表均查询处11-15列的数据,两张表均查询出第一行数据,那么两条命令同时执行会查询出两个结果,现在需要将表B中的2、4、6、8、10行数据填充进表A空的2、4、6、8、10中,而11-15列因表A已查询出,所以不再填充,将两条命令产生的结果合并为一条结果,如何操作?图片说明

select top 1 (case when isnull(C1,'')='' then (select top 1 c1 from [表2]) else C1 end) as C1
,(case when isnull(C2,'')='' then (select top 1 C2 from [表2]) else C2 end) as C2
from [表A]

这两张表不能做关联查询? 为何要分两次查询?

你的问题很好,但是我并不能答出来!

你的问题很好,但是我并不能答出来!

创建一个临时表 查询A表和B表 都往临时表里保存 在临时表中 的 就是一个 完整的数据 (比如A表 插入临时表1、3....,B表处理临时表时 用更新 只更新 2、4...)

用unio把两个sql的查询结果关联起来,一条sql就可以了

是想要把两条数据合到一块,那应该有个主键什么的保证这两条数据一样的主键,那这样不就方便多了么,其实就是个组合查询

其实如果都是一样的话,可以选择先用inner join取交集,把需要弥补的where条件不为空,在进行unino 进行链接创建一个新的表