从文本字段中选择最佳值

时间:2011-05-02 16:14:48

标签: sql sql-server-2005

我需要修改一个查询,该查询旨在用我们可以销售的产品填充我们的在线订购网站。我从视图中获取数据。那个视角有所有待售的产品。有时,产品可以以多种产品的套装出售。这个工具包有自己的产品ID,但是veiw会为每个产品提供一个记录,因此数据看起来像:

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

答案 0 :(得分:1)

“3项目套件”中的每一行可能[ModifiedDate]可能不同。

从字段列表中的[ModifedDate]使用GROUP BY中删除MAX([ModifedDate])