0
我已經很困在大樓的查詢,這是統計的特殊情況SQL連接+計數
我有appearences:
teachers {id, email, first_name, last_name,...}
faculties {id, name}
pupils {id, name, teacher_id} //every pupil has their own curator
faculties_teachers {id, teacher_id, faculty_id}
查詢嘗試檢查數據的完整性。應該沒有重複。
我需要得到一個查詢與每老師在學院的學生數量。
這個查詢工作絕對沒問題,直到我說我試圖計算每個院系不同的學生(他們確實是,在我的情況下,唯一的:))
SELECT u1.id, u2.id, u1.owner, u2.owner, u1.email, u1.first_name, u2.last_name, u1.name_of_site, faculties_teachers.faculty_id, faculties.name,
(SELECT COUNT(pupils.*) FROM pupils as p WHERE faculties.id = pupils.faculty_id)
FROM `teachers` AS u1
JOIN `teachers` AS u2 ON u1.email = u2.email
JOIN `faculties_teachers` AS ft ON u1.id = ft.teacher_id
JOIN `faculties` ON faculties.id = ft.faculty_id
JOIN `pupils` ON faculties.id = pupils.faculty_id
WHERE u1.id < u2.id
ORDER BY `u1`.`id` ASC
你加入'老師'兩次?樣本數據和期望的結果將有所幫助,並說明你想要做什麼。 –
嗨戈登, 其實我們在我們的系統中有幾個問題: - 不當的'老師刪除'功能,只刪除老師,沒有依賴關係(faculties_teachers)。 因此,當有人想要獲得教師的所有教師時,他們會看到很多空行,這是錯誤的。 - 不當的「導師導師」的功能......這使教師的數據翻倍...... 因此,在1個查詢中,我想「全部殺死」:) 現在我有一些大量的工作,但後來我會解決這個問題。 我認爲它很有用。 –