Выберите лучшее значение из текстового поля - PullRequest
0 голосов
/ 02 мая 2011

Мне нужно изменить запрос, который предназначен для наполнения нашего сайта онлайн-заказов продуктами, которые он может продавать.Я получаю свои данные из представления.Этот вид имеет все продукты для продажи.Иногда продукты могут продаваться в наборах из нескольких продуктов.У этих наборов есть свой собственный идентификатор продукта, но вид из них выводит их с записью для каждого продукта, поэтому данные выглядят примерно так:

1 - item1 - item1desc - 1 - true
2 - item2 - item2desc - 1 - true
3 - item3 - item3desc - 1 - true
4 - item4 - item1desc - 3 - true
4 - item4 - item2desc - 3 - true
4 - item4 - item3desc - 3 - true

Я хотел бы видеть это

1 - item1 - item1desc - 1 - true
2 - item2 - item2desc - 1 - true
3 - item3 - item3desc - 1 - true
4 - item4 - kit includes item1desc, item2desc, item3desc - 3 - true
or
4 - item4 - kit - 1 - true

Это запрос, который у меня есть, но он все еще возвращает 3 строки для набора из 3 предметов

SELECT [CustomerProductID]
      ,[CustomerProductName] AS CustomerItemName
      ,MAX([ProductDescription]) AS CustomerItemDescription
      ,COUNT([ProductNameID]) AS ProductCount
      ,[IsActive]
      ,[ModifiedDate]
  FROM [dbo].[vw_ProductList]
  where  CustomerID in (@tbl)
  GROUP BY [CustomerProductID], 
           [CustomerProductName], 
           [IsActive],
           [ModifiedDate]

Есть идеи, как это исправить?

1 Ответ

1 голос
/ 02 мая 2011

Вероятно, [ModifiedDate] отличается для каждой строки в «наборе из 3 предметов».

Удалить [ModifedDate] из GROUP BY, использовать MAX([ModifedDate]) в списке полей.

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