0

我正在介绍 SQL,我正在努力解决这个问题。我已将其简化为以下两个表格:

Purchases                                                                         
+------------+-------+
| CustomerID | Price |   
+------------+-------+
| 1          | 3.76  |
+------------+-------+
| 3          | 1.89  |
+------------+-------+
| 2          | 2.22  |
+------------+-------+
| 2          | 3.76  |
+------------+-------+
| 2          | 7.90  |
+------------+-------+
| 1          | 4.51  |
+------------+-------+

Location
+------------+------------+
| CustomerID | County     |
+------------+------------+
| 1          | Orange     |
+------------+------------+
| 2          | Washington |
+------------+------------+
| 3          | Orange     |
+------------+------------+

现在,假设我想显示每个县所有购买的总和。像这样:

+------------+-------+
| County     | Sum   |
+------------+-------+
| Orange     | 10.16 |
+------------+-------+
| Washington | 13.88 |
+------------+-------+

我了解为每个客户获取总和的基础知识,

SELECT CustomerID, SUM(Price)
FROM Purchases
GROUP by CustomerID

但是在尝试使用子查询来实现另一个表时,我遇到了语法问题。

select County, CustomerID
from Location as cty,
  SELECT CustomerID, SUM(Price)
  FROM Purchases
  GROUP by CustomerID

我正在尝试在两个表中的 clientID 之间建立连接,但是在尝试这样做时我搞混了。我将如何实施第二个总和语句(针对县)?这是解决问题的错误方法,还是我没有正确理解子查询?

4

1 回答 1

0

那个怎么样?

SELECT n.County, SUM(p.Price) Price
FROM Purchases p
JOIN Location n
ON p.CustomerID=n.CustomerID
GROUP BY n.County
于 2021-02-01T19:34:48.087 回答