我正在尝试加入两张桌子,一张与销售,一张与个人资料。两个表都有相同的客户编号,但销售表没有客户名称。我如何内部加入他们,以便获得客户销售额最高的前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
感谢您的任何建议。
只需INNER JOIN与ON CustomerNo
FROM SalesDetail s
INNER JOIN CustomerProfile c
ON s.CustomerNo = c.CustomerNo
这样我就可以获得前十大客户总销售额
您将需要与GROUP BY和ORDER BY一起使用TOP
SELECT TOP (10) c.CustomerName, SUM (Amount) AS Total
FROM SalesDetail s
INNER JOIN CustomerProfile c
ON s.CustomerNo = c.CustomerNo
GROUP BY c.CustomerName
ORDER BY SUM (Amount) DESC
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。