我有3张桌子。
客户
-------------------
custID | custName |
-------------------
1 | 1 |
2 | 2 |
3 | 3 |
-------------------
汽车
-------------------
carID | custID |
-------------------
A | 1 |
B | 1 |
C | 2 |
D | 2 |
E | 3 |
-------------------
纸币
-------------------------------------
billNo | carID | custID | billTotal |
-------------------------------------
1 | A | 1 | 100 |
2 | B | 1 | 100 |
3 | D | 2 | 100 |
4 | E | 3 | 100 |
5 | A | 1 | 100 |
6 | C | 2 | 100 |
7 | C | 2 | 100 |
8 | E | 3 | 100 |
9 | B | 1 | 100 |
10 | D | 2 | 100 |
11 | A | 1 | 100 |
12 | E | 3 | 100 |
13 | E | 3 | 100 |
14 | B | 1 | 100 |
-------------------------------------
我想制作JOIN 3表,如下图所示。
----------------------------------------
custID | custName | countCar | sumBill |
----------------------------------------
1 | 1 | 2 | 600 |
2 | 2 | 2 | 400 |
3 | 3 | 1 | 400 |
---------------------------------------
什么SQL代码可以使它显示这个结果??? 什么SQL代码可以使它显示这个结果??? 什么SQL代码可以使它显示这个结果??? 什么SQL代码可以使它显示这个结果??? 什么SQL代码可以使它显示这个结果???
PS.my英语不太好。
答案 0 :(得分:3)
像
这样的东西SELECT c.custID,
c.custName,
COUNT(DISTINCT b.carID) countCar,
SUM(b.billTotal) sumBill
FROM customers c INNER JOIN
bill b ON c.custID = b.custID
GROUP BY c.custID,
c.custName
查看SQL COUNT() Function,SQL SUM() Function,SQL GROUP BY Statement和SQL Joins
答案 1 :(得分:0)
嗯,我不会告诉你确切的答案,否则你不会学习它,但我会从你的查询中写出我理解的任何内容
SELECT TableA.*, TableB.*, TableC.*
FROM TableA
JOIN TableB
ON TableB.aID = TableA.aID
JOIN TableC
ON TableC.cID = TableB.cID
GROUP BY TableA.aID ,
TableA.aName