有如下三張表(第一行為欄位名)
user使用者表:
| id |
name |
| 1 |
aaa |
| 2 |
bbb |
| 3 |
ccc |
chargeRecord儲值記錄表:
| id |
userId |
money |
| 1 |
1 |
10 |
| 2 |
1 |
2 |
| 3 |
2 |
4 |
| 4 |
2 |
6 |
record通話記錄表:
| id |
callId(主叫) |
beCallId(被叫) |
time(時間長度) |
| 1 |
2 |
1 |
23 |
| 2 |
3 |
1 |
2 |
| 3 |
2 |
3 |
16 |
如何利用user表裡面的id 和儲值記錄表的userId 以及record表的callId/beCallId做串連
查詢 使用者名稱,儲值總金額,和通話總時間長度(主叫時間長度)
新手謝過大家了!!
回複內容:
有如下三張表(第一行為欄位名)
user使用者表:
| id |
name |
| 1 |
aaa |
| 2 |
bbb |
| 3 |
ccc |
chargeRecord儲值記錄表:
| id |
userId |
money |
| 1 |
1 |
10 |
| 2 |
1 |
2 |
| 3 |
2 |
4 |
| 4 |
2 |
6 |
record通話記錄表:
| id |
callId(主叫) |
beCallId(被叫) |
time(時間長度) |
| 1 |
2 |
1 |
23 |
| 2 |
3 |
1 |
2 |
| 3 |
2 |
3 |
16 |
如何利用user表裡面的id 和儲值記錄表的userId 以及record表的callId/beCallId做串連
查詢 使用者名稱,儲值總金額,和通話總時間長度(主叫時間長度)
新手謝過大家了!!
SELECT user.id AS id, user.name AS name, charge.money AS money, record.time AS timeFROM userLEFT JOIN (SELECT userId, SUM(money) AS money FROM chargerecord GROUP BY userId) AS charge ON user.id = charge.userIdLEFT JOIN (SELECT callId, SUM(time) AS time FROM record GROUP BY callId) AS record ON user.id = record.callIdORDER BY user.id
怎麼查 樓上已經給出了 我有一篇關於多表查詢的文章 希望對樓主瞭解多表查詢有協助:SQL的幾種串連:內串連、左聯結、右串連、全串連、交叉串連
各位 如果不喜歡這個答案 給評論回複 我撤掉回複 求別踩