如:
select name from User where UserId ='1'
查询结果为:
name
赵
select name from User where UserId ='2'
查询结果为
name
钱现在我想得到的结果为
name1 name 2
赵 钱
select name from User where UserId ='1'
查询结果为:
name
赵
select name from User where UserId ='2'
查询结果为
name
钱现在我想得到的结果为
name1 name 2
赵 钱
如果只是简单的合并,可以做全连接select * from (select 1 子查询) a full join (select 2 子查询) b on 1=1
行列转换:
DECLARE @s NVARCHAR(4000)
SELECT @s = ISNULL(@s + ',', '') + QUOTENAME(标志)
FROM 表
---行列转换
DECLARE @SQL NVARCHAR(4000)
SELECT @SQL='
SELECT *
FROM 表(带有转换标志) PIVOT ( SUM(实际需要字段)
for [标志] in('+@s+')
)A'
EXEC (@SQL)
SELECT * FROM (
SELECT 1 CS1) A,(SELECT 2 CS2) B
union 把两个结构相同的查询结果合并,可以重复使用把多个结构相同的查询结果合并。具体到本问题,就是a、b两张表的结构完全相同,查询出来的结果是这两张表的所有记录合并在一起。