求救,大佬们

qq_36205634 2018-01-17 09:48:00
MJRTGCode LotCode MatCode2 MatCode MatName BatchCode revisionM revisionN cv1 cv1name cv2 cv2name cv3 cv3name cv4 cv4name cv5 cv5Name
429943 SS00083957 G00041-1800-003 G00041 G00041 0DVFW9 1 0 1800 1800 T 机 1 NULL 0 NULL
429944 SS00083958 G00041-1800-003-G G00041 G00041 0HWOUK 1 0 1800 1800 T 机 1 NULL 0 NULL G 429943
429945 SS00083959 G00041-1800-003-M G00041 G00041 0HWOUL 1 0 1800 1800 T 机 1 NULL 0 NULL M 429943



在同一个表中,有公母(cv5:G,M)关系,如何只显示总的matcode2;cv5:G,M;例如上面的:只显示
G00041-1800-003 G
M
...全文
427 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 2018-01-17
  • 打赏
  • 举报
回复
是要这样的结果吗?
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([MJRTGcode] int,[matcode2] nvarchar(37),[matcode] nvarchar(26),[cv5] nvarchar(21),[cv5name] int)
Insert #T
select 429943,N'G00041-1800-003',N'G00041',null,null union all
select 429944,N'G00041-1800-003-G',N'G00041',N'G',429943 union all
select 429945,N'G00041-1800-003-M',N'G00041',N'M',429943
Go
--测试数据结束
SELECT MJRTGcode ,
STUFF(( SELECT ','+matcode2
FROM #T b
WHERE b.cv5name = a.MJRTGcode
FOR
XML PATH('')
), 1, 1, '') AS matcode2,
STUFF(( SELECT ','+matcode
FROM #T b
WHERE b.cv5name = a.MJRTGcode
FOR
XML PATH('')
), 1, 1, '') AS matcode,
STUFF(( SELECT ','+cv5
FROM #T b
WHERE b.cv5name = a.MJRTGcode
FOR
XML PATH('')
), 1, 1, '') AS cv5
FROM #T a
WHERE cv5name IS NULL




shoppo0505 2018-01-17
  • 打赏
  • 举报
回复
引用 4 楼 qq_36205634 的回复:
引用 1 楼 shoppo0505 的回复:
在RDL报表文件中分组就行。
我是先做SQL查询
SQL读取全部数据,页面的显示在RDL里面调
qq_36205634 2018-01-17
  • 打赏
  • 举报
回复
引用 7 楼 sinat_28984567 的回复:
引用 6 楼 qq_36205634 的回复:
[quote=引用 3 楼 sinat_28984567 的回复:] 楼主这个数据字段名和数据对的上吗?第一行数据少吧?规则也没看明白
cv4,cv4name那里是空的 ,版主帮忙删掉字段名,谢谢
这个版的我删不了; 楼主简化一下数据,然后把测试数据和想要的结果写一下;大概算法[/quote] 字段名 MJRTGcode matcode2 matcode cv5 cv5name ................ 429943 G00041-1800-003 G00041 null null ......... 429944 G00041-1800-003-G G00041 G 429943 ....... 429945 G00041-1800-003-M G00041 M 429943 ............ G,M是公件母件的意思,组成一套,我只想显示: G00041-1800-003 G --相关的数据 M --相关的数据
二月十六 2018-01-17
  • 打赏
  • 举报
回复
引用 6 楼 qq_36205634 的回复:
引用 3 楼 sinat_28984567 的回复:
楼主这个数据字段名和数据对的上吗?第一行数据少吧?规则也没看明白
cv4,cv4name那里是空的 ,版主帮忙删掉字段名,谢谢
这个版的我删不了; 楼主简化一下数据,然后把测试数据和想要的结果写一下;大概算法
qq_36205634 2018-01-17
  • 打赏
  • 举报
回复
引用 3 楼 sinat_28984567 的回复:
楼主这个数据字段名和数据对的上吗?第一行数据少吧?规则也没看明白
cv4,cv4name那里是空的 ,版主帮忙删掉字段名,谢谢
qq_36205634 2018-01-17
  • 打赏
  • 举报
回复
cv4,cv4name那里是空的
qq_36205634 2018-01-17
  • 打赏
  • 举报
回复
引用 1 楼 shoppo0505 的回复:
在RDL报表文件中分组就行。
我是先做SQL查询
二月十六 2018-01-17
  • 打赏
  • 举报
回复
楼主这个数据字段名和数据对的上吗?第一行数据少吧?规则也没看明白
qq_36205634 2018-01-17
  • 打赏
  • 举报
回复
求救啊,大佬们
shoppo0505 2018-01-17
  • 打赏
  • 举报
回复
在RDL报表文件中分组就行。

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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