SQL Server SSRS多个查找值

时间:2018-05-18 18:50:17

标签: sql sql-server tsql reporting-services

我有大量的数据。有些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)

我不确定如何将它们放在一起以获得我想要的结果。

谢谢。

1 个答案:

答案 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

enter image description here