SQL Server SSRS Несколько значений поиска - PullRequest
0 голосов
/ 18 мая 2018

У меня огромный набор данных.Некоторые данные имеют несколько значений, примерно так:

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 голосов
/ 04 июля 2018

Я думаю, это то, что вы хотите.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...