0
寻找帮助来旋转结果集,因为我对它很陌生。SQL PIVOT结果集
这里我将测试数据插入表中。
CREATE TABLE #temp (procCode int, member_id varchar(10))
INSERT INTO #temp(procCode,member_id)
SELECT 90658,'jjjj'
UNION all
SELECT 90658,'k'
UNION all
SELECT 90658,'jjjkk'
UNION all
SELECT 90658,'jjjj'
UNION all
SELECT 90658,'k'
UNION all
SELECT 90658,'jjjkk'
UNION all
SELECT 90658,'jjjj'
UNION all
SELECT 90658,'k'
UNION all
SELECT 90649,'jjjj'
UNION all
SELECT 90649,'k'
UNION all
SELECT 906,'jjjj'
UNION all
SELECT 906,'jjjj'
select
member_id,procCode, COUNT(*) as countProcCode
FROM #temp
GROUP BY member_id,procCode
这现在这样的输出数据:
member_id procCode CountProcCode
jjjj 906 2
jjjj 90649 1
jjjkk 90658 2
k 90649 1
jjjj 90658 3
k 90658 3
我怎么需要它显示是这样的:
member_id Count906 count90649 count90658
jjjj 2 1 3
k 0 1 3
jjjkk 0 0 2
任何帮助是极大的赞赏。 除了这些procCodes和member_id之外,还有更多可能出现的额外元素,所以我无法真正说出(506,50658,50649)中的member_id。
如何非常合适!不仅问题被证明是与链接问题的重复,而且你的答案看起来几乎就是所接受问题的答案的确切副本。你甚至使用了相同的变量名称和格式,真是太棒了! – 2014-09-24 12:03:55
@AndriyM对不起,如果这冒犯了某人。即使基于以前的解决方案,我也很难找到解决方案。我通过解决SO中的问题来学习SQL。在这些条件下,对我来说变得很难,也许op与之相抗争,并且证明他对我发现的东西有用。并通过你的上/下投票和解释/评论来检查它是否是一个有效的解决方案。 – Horaciux 2014-09-24 12:13:36
我也很抱歉,我可能有点过度嘲讽。我明白,您并不是盲目地复制您找到的解决方案,而是为了满足OP的需要而付出一些努力。然而,首先引起我评论的主要问题是,您的解决方案显然是基于其他答案,但您并未将原始作者信任为单个词或链接。 – 2014-09-24 12:33:33