表 t1 t2
字段 id col1 id col2 name
值 1 aa 1 x aa1
1 y aa2
1 z aa3
2 bb 2 y bb2
3 cc 3 x cc1
现在要由t1和t2关联得出表t3如下:
字段 id col1 name1 name2
值 1 aa aa1 aa2
2 bb '' bb2
3 cc cc1 ''
以上可以认为col2=x或col2=y是一个固定条件,那么语句该怎么写?
...全文
1721打赏收藏
考试将一张表的行记录拉成列记录如何用一条sql语句实现?比如:
表 t1 t2 字段 id col1 id col2 name 值 1 aa 1 x aa1 1 y aa2 1 z aa3 2 bb 2 y bb2 3 cc 3 x cc1 现在要由t1和t2关联得出表t3如下: 字段 id col1 name1 name2 值 1 aa aa1 aa2 2 bb '' bb2 3 cc cc1 '' 以上可以认为col2=x或col2=y是一个固定条件,那么语句该怎么写?
GO
--测试
Select id,col1,
IsNull((Select name from t22 Where col2='x' And id=t11.id ),'') As name1,
IsNull((Select name from t22 Where col2='y' And id=t11.id ),'') As name2
from t11
--删除测试环境
Drop table t11,t22
--结果
/*
id col1 name1 name2
1 aa aa1 aa2
2 bb bb2
3 cc cc1
*/