【发布时间】:2019-12-31 02:34:45
【问题描述】:
我正在尝试加入两张表,一张用于销售,一张用于配置文件。两个表都有相同的客户没有,但销售表没有客户名称。我如何内部加入他们,以便我可以获得前 10 名最高销售额的客户,但我想显示他们的名字。 我尝试使用以下查询:
SELECT TOP 10 b.Amount, a.CustomerName
FROM SalesDetail b
INNER JOIN CustomerProfile a
ON a.CustomerNo = b.CustomerNo
ORDER BY Amount DESC
并且显示重复的客户名称,并且金额没有汇总。尝试对客户进行分组会提示错误
SELECT TOP 10 b.Amount, a.CustomerName
FROM SalesDetail b
INNER JOIN CustomerProfile a
ON a.CustomerNo = b.CustomerNo
GROUP BY a.CustomerName
ORDER BY b.Amount DESC
没有内部连接,这是我到目前为止所做的。我可以总结一下,但我只会得到客户编号和销售额。
SELECT TOP 10 CustomerNo, SUM (Amount) AS 'Total'
FROM SalesDetail
GROUP BY CustomerNo
感谢您的任何建议。
【问题讨论】:
-
提示:养成使用至少有微弱意义的别名的习惯,例如
SalesDetail as SD和CustomerProfile as CP。它比b和a让生活更轻松。
标签: sql-server tsql