返回首页

大家好,

我有一个查询,以发现很难使即时通讯。

我有一个表结构如下:

id字段
1'AAAA'
1"BBBB"
2'中交'
2'DDDD'

我想从查询的输出如下:

1'AAAA','BBBB'{BR​​}2'中交','DDDD'

CREATE TABLE #a

(

id INT ,

field varchar(1000)

)

 

INSERT INTO #a

        ( id, field )

VALUES  ( 1, -- id - int

          'aaaaa'  -- field - varchar(1000)

          )

          

INSERT INTO #a

        ( id, field )

VALUES  ( 1, -- id - int

          'bbbb'  -- field - varchar(1000)

          )

          

INSERT INTO #a

        ( id, field )

VALUES  ( 2, -- id - int

          'cccc'  -- field - varchar(1000)

          )

          

INSERT INTO #a

        ( id, field )

VALUES  ( 2, -- id - int

          'ffff'  -- field - varchar(1000)

          )
  ;

请帮我......

的问候,
戈帕尔

回答

评论会员:游客 时间:2012/02/05
奥姆・普拉卡什・潘特:不同的选项,请以下链接:imgsrc=]:约翰・西蒙斯/取缔程序员
我不是SQL专家,但你要调查以下T-SQL命令:

凝聚

PIVOT的

数据透视命令将安排你想要的方式,和COALESCE的命令将帮助你把一个逗号分隔的字符串所产生的数据集。

谷歌是你的朋友
评论会员:游客 时间:2012/02/05
,gopalgupta喜试试这个codeprelang="sql"spanclass="code-keyword"SELECT/spanid,(spanclass="code-keyword"SELECT/spanfield+spanclass="code-string"'/spanspanclass="code-string",'/spanspanclass="code-keyword"FROM/spantableNamespanclass="code-keyword"WITH/span(spanclass="code-keyword"NOLOCK/span)spanclass="code-keyword"WHERE/spana.id=idspanclass="code-keyword"ORDER/spanspanclass="code-keyword"BY/spanfieldspanclass="code-keyword"FOR/spanXMLPATH(spanclass="code-string"'/spanspanclass="code-string"'/span))spanclass="code-keyword"AS/spanfieldspanclass="code-keyword"FROM/spantableNameaspanclass="code-keyword"WITH/span(spanclass="code-keyword"NOLOCK/span)spanclass="code-keyword"GROUP/spanspanclass="code-keyword"BY/spanid/pre/code
米卡Wendelius:你总是为每个ID只有两个行吗?如果这是真的,那么你可以尝试这样的:
SELECT t1.Id,

       t1.Field,

       t2.Field

FROM   #a t1,

       #a t2

WHERE t1.Id = t2.Id

AND   t1.Field < t2.Field