[SQL ] 同時查兩塊資料表的"個數"?
嗯嗯…小弟使用的是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
Database 近期熱門文章
PTT數位生活區 即時熱門文章