考试将一张表的行记录拉成列记录如何用一条sql语句实现?比如:

f117_fujin 2005-04-12 09:20:55
表 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是一个固定条件,那么语句该怎么写?
...全文
172 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
paoluo 2005-04-12
  • 打赏
  • 举报
回复
--建立测试环境
Create table t11
(id Int Identity(1,1),
col1 Varchar(10)
)

Create table t22
(id Int ,
col2 Varchar(10),
name Varchar(10)
)
GO
--插入数据
Insert t11 Values('aa')
Insert t11 Values('bb')
Insert t11 Values('cc')

Insert t22 Values(1, 'x', 'aa1')
Insert t22 Values(1, 'y', 'aa2')
Insert t22 Values(1, 'z', 'aa3')
Insert t22 Values(2, 'y', 'bb2')
Insert t22 Values(3, 'x', 'cc1')

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
*/

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧