Ich möchte eine SQL-Abfrage schreiben, die die Gesamtzahl der Tutoren zurückgeben sollte, die ein bestimmtes Thema in einer bestimmten Stadt unterrichten.SQL-Abfrage gibt kein genaues Ergebnis
Das ist meine Abfrage
SELECT COUNT(*)
FROM `tutor_main` tm
JOIN `tutor_subjects` ts ON tm.`tutor_id` = ts.`tutor_id`
JOIN `sub_subjects` ss ON ss.`subs_id` = ts.`subs_id`
JOIN `town` tt ON tm.`town_id` = tt.`town_id`
JOIN `subject_level` sl ON sl.`sub_level_id` = ts.`sub_level_id`
WHERE ts.`subs_id` = 1
AND tm.`town_id` = 1
Hier tutor_main
als Haupttabelle, die town_id
als Fremdschlüssel speichert. sub_subjects
als Hauptfächer Tabelle und subject_level Tabelle speichert Thema Ebenen. In ähnlicher Weise speichert tutor_subjects
Tabelle die Schlüssel von tutor_id, subs_id und sub_level_id.
Dies ist der Screenshot von tutor_subjects
Tabelle:
Beachten Sie, dass die town_id
für alle Tutoren ist 1.
Nun, wenn ich die Abfrage ausführen, ist es mir 8 in der Ausgabe gibt. Die korrekte Ausgabe sollte 5 sein, weil es 5 Tutoren gibt, die das Thema mit der ID 1 unterrichten und sie alle aus der Stadt mit der ID 1 kommen.
Bitte Hilfe.
Werden Sie Ihre Fragen selbst schreiben oder debuggen oder sollten wir eine Rechnung erstellen, um die Arbeit abzudecken, die wir für Sie erledigen. http://stackoverflow.com/questions/38697095/sql-count-function-not-working – RiggsFolly