我試圖連接params
和Note
中存在的值,只要其他列中的數據相同即可。填寫所有其他列中的數據時一列的數據相同
當在一列數據的AppID,行動寫到FileID,ID,BaseVehicleID,ParttypeID,SubModelID是相同,則只有級聯這些PARAMS並注意 別的不是,並將其顯示爲在輸出個別記錄。
的樣本數據:
DECLARE @TABLE TABLE
(
AppID INT,
FileID INT,
Action CHAR (1),
ID INT,
BaseVehicleID INT,
ParttypeID INT,
SubModelID INT,
Params VARCHAR (50),
Note VARCHAR (50)
)
INSERT @TABLE
SELECT 2, 1, 'A', 2, 4935, 5560,'' , 'check1', 'M14 x 1.50 Thread' UNION ALL
SELECT 2, 1, 'A', 2, 4935, 5560,'' , 'check2', 'Package Quantity: 5' UNION ALL
SELECT 2, 1, 'A', 2, 4935, 5569,'', '' ,'Dorman - AutoGrade - Boxed'
期望輸出
2 1 A 2 4935 5560 0 check1;check2 M14 x 1.50 Thread;Package Quantity: 5
2 1 A 2 4935 5569 0 Dorman - AutoGrade - Boxed
這是特別不容易在SQL Server做。此外,這基本上是反規範化你的數據庫表。你爲什麼想這樣做? –
@TimBiegeleisen @TimBiegeleisen:我的記錄數是巨大的數百萬,除了params和note,其他列中的值都是相同的 所以我試圖減少記錄數,填充參數和注意當所有其他列中的值相同時。 –
[如何使用GROUP BY連接SQL Server中的字符串?](http://stackoverflow.com/questions/273238/how-to-use-group-by-to-concatenate-strings-in-sql -服務器) – trincot