[SQL ] 同時查兩塊資料表的"個數"?

看板Database (資料庫)作者 (天才小胖子-活力花俏草兒)時間18年前 (2007/01/25 03:44), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
嗯嗯…小弟使用的是MySQL… 最近遇到一個資料庫結構有三個table如下… student //存學生資訊的資料表 student_id //學號 : : miss_class //存學生的蹺課記錄 index //記錄序號 student_id //學生學號 date //蹺課日期 class //蹺第x堂課 : : work //存學生的勞動服務次數 index //次數序號 student_id //學生學號 time //勞動服務年月日時分秒 : : 今天想要藉由SQL指令抓出「某個學號為n的同學蹺了x堂課,且作了y次勞動服務」 目前是想到一個方法…是用暫存資料表的方式達成的… SQL指令如下: SELECT `tmp1`.`n` `tmp1`.`x` COUNT(`work`.`index`) AS `y` FORM ( SELECT `student`.`student_id` AS `n` COUNT(`miss_class`.`index`) AS `x` FROM `student` LEFT JOIN `miss_class` ON `student`.`student_id` = 'n' AND `student`.`student_id` = `miss_class`.`student_id` GROUP BY `miss_class`.`student_id` ) AS `tmp1` LEFT JOIN `work` ON `tmp1`.`n` = `work`.`student_id` GROUP BY `work`.`student_id` 如此一來…應該可以達到所要的效果… 不過這樣相當於兩段式的Query... 不知道板上的高手們是否還有更有效率的Query… 還是上面這道Query本身就有Bug了@@a 先謝謝板上的高手們指教了m(_ _)m -- ╔作者 grassboy2 來自 ptt.cc 的怒吼! P_GrassboyWebBBS版【http://WebGrassboy.twbbs.org Design By Grassboy@MDS 白日夢工作室 ╚─你現在還以為,瀏覽器不能打逼嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.214.146
文章代碼(AID): #15jxSCoN (Database)
文章代碼(AID): #15jxSCoN (Database)