我有大量的数据。有些pf数据有多个值,有点像这样:
Column 1 Column 2
A 1
A 10
A 1E
B 2F
B 1BH
C WBH
D 3X
D 2
D 1
D 10
D 11
我想在Column 1
中选择唯一值,并以逗号分隔的字符串显示Column 2
的所有相关值(使用SSRS)。即。
Column 1 Column 2
A 01, 10, 1E
B 2F, 1BH
C WBH
D 02, 01, 10, 11
此外,Column 1
中任何小于10的值,我希望它前面有一个零。
我知道我可以使用SELECT DISTINCT
获取Column 1
的所有唯一值。但我不确定如何绕过Column 2
?
关于前面的数字小于10,我可以这样做:
SELECT RIGHT('0' + convert(varchar(2), value()), 2)
我不确定如何将它们放在一起以获得我想要的结果。
谢谢。
答案 0 :(得分:0)
我想这就是你想要的。
DECLARE @Input TABLE
(
ProductID INT,
Price INT
)
INSERT INTO @Input VALUES (6,22), (6,35), (6,77), (6, 88), (6,55),(6,200),(7,6),(7,4),(8,5),(8,5)
;WITH CTE AS
(SELECT ProductID, MAX(Price) AS Max_Price, MIN(Price) AS Min_Price
FROM @Input
GROUP BY ProductID
)
SELECT ProductID, CASE WHEN Max_Price > Min_Price THEN CONVERT(VARCHAR(10), Min_Price) + ', ' + CONVERT(VARCHAR(10),Max_Price)
ELSE CONVERT(VARCHAR(10), Min_Price) END AS Price_Range
FROM CTE