本文介绍了Sql sererver(2008R2)支持问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我有一张桌子,我正试图转动。感兴趣的列是 MRN(表示数字序列的nvarchar) DX(表示代码的nvarchar) 我想转动数据,以便我有一个mrn和mrn的所有dx代码(每mrn最多可以有20个dx代码)。 我的问题是我的结果集返回dx代码的所有空值(据了解,如果源数据中存在MRN,则有1个或更多dx代码与它相关联。) 我缺少什么? 我尝试过: ; cte as ( SELECT [MRN] as MRNPivot ,MRN ,[DX] FROM [mydb]。[dbo]。[mytable] ) S. ELECT * FROM cte PIVOT ( min(mrnpivot) for [dx] in (dx1,dx2,dx3,dx4,dx5, dx6,dx7,dx8,dx9,dx10, dx11,dx12,dx13,dx14,dx15, dx16,dx17,dx18,dx19,dx20)) AS p 我的结果集如下: MRN dx1 dx2 dx3 ... .dx20 123 NULL NULL NULL ... NULL 124 NULL NULL NULL ... NULL ... ... 数据如下所示: mrnpivot mrn dx 123 123 a105 123 123 b27 124 124 b27 124 124 1566A 124 124 a106 我想要它看起来像这样: mrn dx1 dx2 dx3 dx4 ... dx20 123 a105 b27 NULL NULL ... NULL 124 b27 1566A a106 NULL ... NULL 也许是一个支点是不是我想要的?解决方案 I have a table that I'm trying to pivot. The columns of interest areMRN (nvarchar that represents a numerical sequence)DX (nvarchar that represents a code)I want to pivot the data so that I have one mrn and all of the dx codes for that mrn (there can be up to 20 dx codes per mrn).My problem is that my result set returns all null values for the dx codes (it is understood that there's at if an MRN exists in the source data, there are 1 or more dx codes associated with it).What am I missing?What I have tried:;with cte as( SELECT [MRN] as MRNPivot ,MRN ,[DX] FROM [mydb].[dbo].[mytable])SELECT * FROM ctePIVOT( min(mrnpivot) for [dx] in (dx1, dx2, dx3, dx4, dx5, dx6, dx7, dx8, dx9, dx10, dx11, dx12, dx13, dx14, dx15, dx16, dx17, dx18, dx19, dx20)) AS pMy result set looks like this:MRN dx1 dx2 dx3.... dx20123 NULL NULL NULL... NULL124 NULL NULL NULL... NULL......The data looks like this:mrnpivot mrn dx123 123 a105123 123 b27124 124 b27124 124 1566A124 124 a106I want it to look like this:mrn dx1 dx2 dx3 dx4... dx20123 a105 b27 NULL NULL... NULL124 b27 1566A a106 NULL... NULLMaybe a pivot isn't what I want? 解决方案 这篇关于Sql sererver(2008R2)支持问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-30 02:37