Переопределить текст в группе по предложению - PullRequest
0 голосов
/ 16 мая 2018

У меня есть большая таблица данных с описаниями, которые были введены непоследовательно. Я пытаюсь выяснить, как включить это поле в запрос и по-прежнему группировать записи, даже если описания не совпадают. В приведенном ниже примере мне не обязательно нужно самое длинное описание, даже если результат возвращает любое описание, которое будет первым, это нормально. Заранее спасибо!

SELECT PartNumber, Description, Sum(TotQtySold), year
From partsTable
GROUP BY PartNumber, Description, year

PartNumber|Description|TotQtySold|year
ABC123    |Repair Kit |5     |2007
ABC123    |kit        |3     |2007
ABC123    |Repair kit |8     |2007

Desired Result
ABC123    |Repair Kit |16    |2007

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Просто удалите Description из GROUP BY предложения и используйте min/max или используйте subquery вместо

select PartNumber, 
       (select top 1 Description 
        from table 
        where PartNumber = t.PartNumber and 
              year = t.year
        order by Description desc) as Description, -- remove order by clause if you want whatever Description
       Year
from table t
group by PartNumber, year;

Однако я не рекомендую использовать Description столбец в GROUP BYпункт, который имеет длинное описание.

0 голосов
/ 16 мая 2018

Только не GROUP BY по этому столбцу. Вместо этого SELECT MAX() этого столбца ...

SELECT PartNumber, MAX(Description), Sum(TotQtySold), year
From partsTable
GROUP BY PartNumber, year
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...