請教大家三表串連查詢的sql怎麼寫

來源:互聯網
上載者:User
有如下三張表(第一行為欄位名)

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的幾種串連:內串連、左聯結、右串連、全串連、交叉串連

各位 如果不喜歡這個答案 給評論回複 我撤掉回複 求別踩

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.