【发布时间】:2021-04-10 07:30:49
【问题描述】:
这是一个复杂的问题。我有三张桌子:
产品表
| ProductID | ProductName |
|---|---|
| Product A | Edwardian Desk |
| Product B | Edwardian Lamp |
还有一个 GROUPS 表
| ProductGroup | ProductID |
|---|---|
| Group A | Product A |
| Group A | Product B |
| Group B | Product C |
还有一个 SALES 表
| Product ID | Sales |
|---|---|
| Product A | 1000 |
| Product B | 500 |
我需要显示每个产品组的总销售额。
这部分我明白;我写了查询:
SELECT Groups.ProductGroup, SUM(Sales) AS TotalSales
FROM Groups
JOIN Sales
ON Groups.ProductID=Sales.ProductID
GROUP BY Groups.ProductGroup
这是让我感到困惑的部分:对于每个组,我需要提取组中产品的名称之一。但是,提取哪个名称并不重要。所以最终的数据可以显示:
Group A, Edwardian Desk, 1500
或
Group A, Edwardian Lamp, 1500
如何将产品名称提取到我的查询中?
我在 Microsoft SQL Server 中工作
【问题讨论】:
-
要获得没有任何特定逻辑的“其中之一”,您可以使用
max或min聚合函数。它接受输入字符串