我有這個表:查詢SQL Server中的重複記錄?
+----------+----------+---------+-----------------------------------+
| Class A | Class B | Class C | Result_XML |
+----------+----------+---------+-----------------------------------+
| SUPER | PREMIUM | A | <Array> <Ser ref="RF124" r="200」> |
| ECONOMIC | SEMI | A | <Array> <Ser ref="RF124" r="200」> |
| SUPER | PREMIUM | A | <Array> <Ser ref="RF144" r="500」> |
| SUPER | NA | B | <Array> <Ser ref="RF124" r="200」> |
| ECONOMIC | SEMI | A | <Array> <Ser ref="RF154" r="200」> |
| SUPER | PREMIUM | C | <Array> <Ser ref="RF124" r="100」> |
+----------+----------+---------+-----------------------------------+
而且,我一直試圖得到的是類似如下:
+----------+---------+--------+---------+
| ClassA | ClassB | ClassC | Result |
+----------+---------+--------+---------+
| SUPER | PREMIUM | A | 200,500 |
| ECONOMIC | SEMI | A | 200 |
| SUPER | NA | B | 200 |
| SUPER | PREMIUM | C | 100 |
+----------+---------+--------+---------+
基本上上面是從第一臺具有相同的結果記錄不同的列表在最後一列中,如果不同則將結果填入同一行,如第一個例子。到目前爲止,我提出了以下,但顯然不工作。預先感謝您的幫助:
SELECT DISTINCT
ClassA, ClassB, ClassC,
Result = (STUFF((Select Distinct ',' + E1.RESULT_XML.value('(/Array/Ser/@r)[1]', 'varchar(max)')
From listtable E2
Where E1.ClassA = E2.ClassA
And E1.ClassB = E2.ClassB
And E1.ClassC = E2.ClassC
FOR XML PATH(''), TYPE, ROOT).value('root[1]','nvarchar(max)'),1,1,''))
FROM
listtable E1
對不起STANGE看錶......我轉換表從Excel到ASCII格式,但仍無法正常顯示的SQL Server – Nomdeplume
什麼版本? – Kapil
sql server 2012 – Nomdeplume