2016-12-07 2 views
0

У меня есть небольшая таблица из 2 столбцов. Допустим, что столбцы A и B. Столбец A должен быть отличным, чтобы он не отображал повторяющееся значение. Столбец B должен иметь все, что выбрано в запросе, поэтому, если для значения в A имеется несколько значений B, отобразятся несколько значений. Как я могу написать запрос, который сделает это для меня?Запрос DISTINCT для одной колонки, но не любые другие столбцы

Пока дубликаты теперь исчезли ... в моем выпадающем списке есть пустая пустота.

enter image description here

+2

Выборочные данные и ожидаемый результат будет объяснить проблему лучше –

+0

я добавил картину выборочных данных и то, что я хотел бы, чтобы это выглядело например – Rataiczak24

+0

Лучше сделать это в прикладном уровне. Также есть 4 строки для '2' из 4 строк, в какой строке вы хотите отобразить' 2'? –

ответ

3

Вы можете использовать CTE, чтобы упростить:

WITH CTE AS 
(
    SELECT A, B, 
      RN = ROW_NUMBER() OVER (PARTITION BY A ORDER BY A, B) 
    FROM dbo.TableName 
) 
SELECT A = CASE WHEN RN = 1 THEN Cast(A as varchar(50)) ELSE '' END, 
     B 
FROM CTE 
+0

Как бы это выглядело, если im назначил его переменной в php? – Rataiczak24

+0

@ Rataiczak24: Я не понимаю вопроса. Это всего лишь запрос sql. –

+0

Хорошо, я использовал этот запрос, и теперь каждый повторяющийся номер в столбце A теперь равен 0, и он все еще виден. – Rataiczak24

Смежные вопросы