我尝试在SQL SERVER 2008中创建一个查询,该查询将在每个帐户的单行中显示多行。
该表目前正在显示如此数据......(每个帐户的CD数量也不相同)
表格查询
SELECT
[ACCOUNTNO]
,DT
,POSTDT
,CD
,NO
,SEQNO
FROM [dbo].[DInformation]
结果
ACCOUNTNO DT POSTDT CD NO SEQNO
50000878915 06/29/2011 06/29/2011 52074 639 2005
50000878915 07/03/2008 07/03/2008 6650222 749 3008
50000878915 07/03/2008 07/09/2008 6720030 644 3032
50000878915 07/23/2008 07/23/2008 99801 995 2055
50000878915 07/23/2008 07/23/2008 99801 995 2056
50000878915 07/23/2008 07/23/2008 7109045 994 2134
50000878915 07/10/2008 07/10/2008 52017 996 169
50000878915 07/23/2008 07/23/2008 99801 995 2055
50000878915 07/23/2008 07/23/2008 99801 995 2056
50000878915 07/23/2008 07/23/2008 30010 992 2087
50000878915 07/23/2008 07/23/2008 52038 993 2032
65478078915 10/01/2012 01/09/2013 6910002 871 3076
65478078915 11/01/2012 01/09/2013 6910002 888 3055
65478078915 12/01/2012 01/09/2013 6910002 6 3085
65478078915 01/01/2013 02/06/2013 6910002 918 3009
65478078915 02/01/2013 03/05/2013 6910002 668 3018
65478078915 03/01/2013 04/04/2013 6910002 24 3065
我希望结果显示如此......
50000878915 06/29/2011 06/29/2011 52074 639 2005 07/03/2008 07/03/2008 6650222 749 3008 07/03/2008 07/09/2008 6720030 644 3032 07/23/2008 07/23/2008 99801 995 2055 07/23/2008 07/23/2008 99801 995 2056 07/23/2008 07/23/2008 7109045 994 2134 07/10/2008 07/10/2008 52017 996 169 07/23/2008 07/23/2008 99801 995 2055 07/23/2008 07/23/2008 99801 995 2056 07/23/2008 07/23/2008 30010 992 2087 07/23/2008 07/23/2008 52038 993 2032
65478078915 10/01/2012 01/09/2013 6910002 871 3076 11/01/2012 01/09/2013 6910002 888 3055 12/01/2012 01/09/2013 6910002 6 3085 01/01/2013 02/06/2013 6910002 918 3009 02/01/2013 03/05/2013 6910002 668 301803/01/2013 04/04/2013 6910002 24 3065
任何帮助都将非常感激
答案 0 :(得分:-1)
如果您只想将它们列出样本节目,可以使用XML
功能:
SELECT DISTINCT
ACCOUNTNO
,STUFF((SELECT DISTINCT ',' + CONCAT(DT,POSTDT,CD,NO,SEQNO)
FROM Table1 a
WHERE a.ACCOUNTNO = b.ACCOUNTNO
FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'),1,1,'')
FROM Table1 b
演示:SQL Fiddle
如果您想让它们成为正确的字段,那么您正在查看某些PIVOT
操作。
编辑:注意2012年添加了CONCAT()
功能,如果使用先前版本将每个字段转换为字符串并通过+
进行连接。