我有三個表:3表的SQL查詢
niveis(id, descricao)
formacoes(id, id_nivel, nome)
formacoes_professores(id, id_professor, id_formacao)
我想運行一個返回教育水平(niveis)與具有它教授的數量的查詢。
我運行此查詢:
SELECT n.descricao, count(f.id_nivel)
FROM niveis_de_formacao n
LEFT OUTER JOIN formacoes f
ON (n.id = f.id_nivel)
GROUP BY n.descricao
而且我得到這個結果:
descricao count
Mestrado 0
Graduação 2
Doutorado 0
Especialização 0
好像我想要做的事。但在這個查詢中,我只是計算了一個教育級別的課程數量。 我能做些什麼來查詢formacoes_professores
表格並計算教育水平有多少教授。
例如,如果三位教授有相同的課程(讓我們假設它是一個碩士學位),查詢需要返回:
Mestrado 3
但在查詢我跑,而不是三個,我會得到Mestrado 1
,因爲它是相同的課程。
謝謝。
嘗試編輯您的問題,幷包括示例數據。您的查詢看起來正確。如果「Mestrado」的值爲0,則數據似乎不包含該級別的任何內容。 – 2014-09-29 19:07:13
好吧,但我正在計算一個教育級別的課程數量。我需要做的是統計一個教育級別的「教授」數量。例如,如果三位教授具有相同的課程,則該查詢應返回三級,但在查詢中,我將運行它將返回1 – ahmm95 2014-09-29 19:11:19