我想做一个相当简单的查询,但我无法弄清楚,如何将表连接在一起。我是这个SQL世界的新手,在阅读了JOIN和SELECT子句的文档之后,我仍然无法解决这个问题。 这是我的3张桌子:
卖家
|SELLER_ID|NUMBER|FIRST_NAME|LAST_NAME|TEAM_NR|
| 1|105 |John |Smith |1 |
| 2|106 |James |Brown |3 |
| 3|107 |Jane |Doe |3 |
| 4|108 |Nicole |Sanchez |2 |
服务
|SERVICE_ID|CODE|NAME |PRICE |SELLER_ID|CLIENT_ID|
| 1| 502|BLAHBLAH |200 |2 |2 |
| 2| 503|BLAHBLAH2|175 |1 |3 |
| 3| 504|BLAHBLAH3|250 |3 |2 |
| 4| 505|BLAHBLAH4|130 |2 |4 |
客户端
|CLIENT_ID|NUMBER |FIRST_NAME | LAST_NAME |
| 1|51 |JOHN | ADAMS |
| 2|52 |MARY | BRYANT |
| 3|53 |FRANCIS | JOHNSON |
| 4|55 |BEN | CASTLE |
此查询的目标是根据销售总额(服务的PRICE总和)确定哪个团队(来自卖方的TEAM_NR)在一个月内销售的服务最多
结果应显示"赢得"中所有人的FIRST_NAME,LAST_NAME和TEAM_NR队。
我已经从StackOverFlow和Google那里寻求帮助,并尝试根据我的表格对其进行编辑,但它们并没有成功。
谢谢!
答案 0 :(得分:1)
SELECT S.FIRST_NAME, S.LAST_NAME, S.TEAM_NR, sum(R.PRICE) Winning
FROM Seller S
LEFT JOIN Service R ON (S.SELLER_ID=R.SELLER_ID)
GROUP BY S.TEAM_NR, S.FIRST_NAME, S.LAST_NAME
编辑甚至不需要在客户端表上加入任何联接。
编辑2 SELECT中的所有字段都必须位于GROUP BY中。