[SQL ] MySQL 無資料返回0寫法

看板Database (資料庫)作者 (Pigstal)時間4年前 (2020/04/15 21:51), 4年前編輯推噓4(407)
留言11則, 4人參與, 4年前最新討論串1/1
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) 資料庫名稱:MySQL 資料庫版本:MyWorkbench 8.0 內容/問題描述: 最近初學SQL, 想請教以下一個問題。 共有兩個表(Customer/Customer_Order) https://i.imgur.com/KuUAAKS.jpg
https://i.imgur.com/EbQLT4V.jpg
題目:需要返回cust_name, total number of orders (計算Customer_order裡每個cust_ id的數量),包含沒order的cust_name (顯示0),必須使用correlated subquery和scalar 。 感謝看完那麼長的問題,我目前怎麼寫都頂多返回‘不含0’的版本,苦無計策! 附上我寫的不含0版本: SELECT c.cust_name, CO.cnt as total_number_of_orders FROM Customer c, (SELECT co.cust_id, count(co.cust_id) as cnt FROM Customer_Order co GROUP BY co.cust_id) CO WHERE c.cust_id= CO.cust_id GROUP BY c.cust_id; 希望板上高手能提點提點!謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.47.0.252 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1586958699.A.230.html ※ 編輯: crystal80314 (114.47.0.252 臺灣), 04/15/2020 21:52:37

04/15 22:07, 4年前 , 1F
customer left join order 後,再做 group by
04/15 22:07, 1F

04/15 22:24, 4年前 , 2F
謝C大! 想確認是指Customer和Customer_Order做left
04/15 22:24, 2F

04/15 22:24, 4年前 , 3F
outer join後,再group by cust_id嗎? ( 插鴃ꬩ
04/15 22:24, 3F

04/15 22:38, 4年前 , 4F
對喔
04/15 22:38, 4F

04/15 23:10, 4年前 , 5F
同上,left join後再group by。
04/15 23:10, 5F

04/15 23:46, 4年前 , 6F

04/15 23:48, 4年前 , 7F
想再求問,我跑出結果了,但total_number_of_order
04/15 23:48, 7F

04/15 23:48, 4年前 , 8F
卻返回一樣的值....( ;棗驉ꬩ
04/15 23:48, 8F

04/16 01:45, 4年前 , 9F

04/16 09:17, 4年前 , 10F
感謝C大出手,成功解決!!!
04/16 09:17, 10F

04/16 19:49, 4年前 , 11F
SQL92/95的內外連接先學再寫題目
04/16 19:49, 11F
文章代碼(AID): #1Ubn5h8m (Database)
文章代碼(AID): #1Ubn5h8m (Database)