行列转换~~~~急用···在线等

llh6795 2012-07-13 08:58:53
TAB1

ZS LB BL BH
90 AA 50 1-1

70 BB 1-1

CC 60 1-1

80 AA 75 1-2

BB 30 1-2


TAB2
BH YL
1-1 90AA50*70BB*CC60

1-2 80AA75*BB30


用户要求将TAB1的数据转成TAB2的数据形式,如何实现,请高手指点 ,谢谢!
...全文
87 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
llh6795 2012-07-13
  • 打赏
  • 举报
回复
基本调试出来了,谢谢了(*^__^*) 嘻嘻……
llh6795 2012-07-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
引用 5 楼 的回复:
说明:我用的是SQL2000,调试没有通过

2000看1楼的链接 需要写函数 自己照着改下就可以了
[/Quote]

偶是菜菜,自己不会函数,请帮忙指点
--小F-- 2012-07-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
说明:我用的是SQL2000,调试没有通过
[/Quote]
2000看1楼的链接 需要写函数 自己照着改下就可以了
llh6795 2012-07-13
  • 打赏
  • 举报
回复
'90','AA','50','1-1'
'70','BB',null,'1-1'
null,'CC','60','1-1'
'80','AA','75','1-2'
null,'BB','30','1-2'
数据发出来乱了,应该是这样的

llh6795 2012-07-13
  • 打赏
  • 举报
回复
说明:我用的是SQL2000,调试没有通过
llh6795 2012-07-13
  • 打赏
  • 举报
回复
谢谢楼上的朋友,我调试看看
--小F-- 2012-07-13
  • 打赏
  • 举报
回复
----------------------------------------------------------------
-- Author :fredrickhu(小F,向高手学习)
-- Date :2012-07-13 09:07:06
-- Version:
-- Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (Intel X86)
-- Apr 22 2011 11:57:00
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition on Windows NT 6.1 <X64> (Build 7600: ) (WOW64)
--
----------------------------------------------------------------
--> 测试数据:[TB]
if object_id('[TB]') is not null drop table [TB]
go
create table [TB]([ZS] varchar(2),[LB] varchar(2),[BL] varchar(3),[BH] varchar(3))
insert [TB]
select '90','AA','50','1-1' union all
select '70','BB',null,'1-1' union all
select 'CC','60',null,'1-1' union all
select '80','AA','75','1-2' union all
select 'BB','30',null,'1-2'
--------------开始查询--------------------------

select bh, [YL]=stuff((select '*'+[zs]+[LB]+isnull(BL,'') from tb t where BH=tb.BH for xml path('')), 1, 1, '')
from tb
group by BH

----------------结果----------------------------
/*bh YL
---- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1-1 90AA50*70BB*CC60
1-2 80AA75*BB30

(2 行受影响)

*/
夜予 2012-07-13
  • 打赏
  • 举报
回复
行列转换问题解决方案已经相当成熟,LZ参考精华帖,自己解决吧

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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