Kollision von Lehrerkürzeln (MySQL, BINARY-Operator)
Verfasst: Dienstag 30. August 2022, 22:26
Hallo.
Bei uns an der Schule sind in Schild die Kürzel "Su" und "Sü" vergeben.
Datenbanksystem: MySQL
Bei der Abfrage von Klassenunterrichten mittels SQL traf ich auf folgende Spezialität.
liefert
Die Abfrage mit 'Sü' als Lehrerkürzel liefert genau das gleiche Ergebnis. Allerdings sind beide falsch.
Erst mit dem Operator BINARY erhalte ich die richtigen Ausgaben:
und mit
Nun meine Frage: Ist Schild auf diese Situation vorbereitet (und nutzt BINARY) oder sollte ich der Schulleitung die Wahl anderer Kürzel nahe legen?
Vielen Dank und Gruß,
RAP
Bei uns an der Schule sind in Schild die Kürzel "Su" und "Sü" vergeben.
Datenbanksystem: MySQL
Bei der Abfrage von Klassenunterrichten mittels SQL traf ich auf folgende Spezialität.
Code: Alles auswählen
SELECT SLA.Klasse
-> , SLD.Wochenstunden
-> , ESF.FachKrz
-> , ESF.Bezeichnung
-> , COUNT(SLA.Klasse) As AnzGesamt
-> FROM SchuelerLeistungsdaten SLD
-> , SchuelerLernabschnittsdaten SLA
-> , EigeneSchule_Faecher ESF
-> , Schueler S
-> WHERE SLA.Id = SLD.Abschnitt_ID
-> AND ESF.ID = SLD.Fach_ID
-> AND S.ID = SLA.Schueler_ID
-> AND S.Status = 2
-> AND SLA.Jahr = 2022
-> AND SLA.Abschnitt = 1
-> AND SLD.Kursart = 'PUK'
-> AND SLD.FachLehrer = 'Su'
-> GROUP BY Klasse, FachKrz ;
Code: Alles auswählen
+--------+---------------+---------+-------------+-----------+
| Klasse | Wochenstunden | FachKrz | Bezeichnung | AnzGesamt |
+--------+---------------+---------+-------------+-----------+
| 08b | 3 | M | Mathematik | 25 |
| 09a | 3 | D | Deutsch | 22 |
| 09c | 2 | GE | Geschichte | 26 |
+--------+---------------+---------+-------------+-----------+
Erst mit dem Operator BINARY erhalte ich die richtigen Ausgaben:
Code: Alles auswählen
SELECT SLA.Klasse
-> , SLD.Wochenstunden
-> , ESF.FachKrz
-> , ESF.Bezeichnung
-> , COUNT(SLA.Klasse) As AnzGesamt
-> FROM SchuelerLeistungsdaten SLD
-> , SchuelerLernabschnittsdaten SLA
-> , EigeneSchule_Faecher ESF
-> , Schueler S
-> WHERE SLA.Id = SLD.Abschnitt_ID
-> AND ESF.ID = SLD.Fach_ID
-> AND S.ID = SLA.Schueler_ID
-> AND S.Status = 2
-> AND SLA.Jahr = 2022
-> AND SLA.Abschnitt = 1
-> AND SLD.Kursart = 'PUK'
-> AND BINARY SLD.FachLehrer = 'Sü'
-> GROUP BY Klasse, FachKrz ;
Code: Alles auswählen
+--------+---------------+---------+-------------+-----------+
| Klasse | Wochenstunden | FachKrz | Bezeichnung | AnzGesamt |
+--------+---------------+---------+-------------+-----------+
| 09a | 3 | D | Deutsch | 22 |
| 09c | 2 | GE | Geschichte | 26 |
+--------+---------------+---------+-------------+-----------+
Code: Alles auswählen
SELECT SLA.Klasse
-> , SLD.Wochenstunden
-> , ESF.FachKrz
-> , ESF.Bezeichnung
-> , COUNT(SLA.Klasse) As AnzGesamt
-> FROM SchuelerLeistungsdaten SLD
-> , SchuelerLernabschnittsdaten SLA
-> , EigeneSchule_Faecher ESF
-> , Schueler S
-> WHERE SLA.Id = SLD.Abschnitt_ID
-> AND ESF.ID = SLD.Fach_ID
-> AND S.ID = SLA.Schueler_ID
-> AND S.Status = 2
-> AND SLA.Jahr = 2022
-> AND SLA.Abschnitt = 1
-> AND SLD.Kursart = 'PUK'
-> AND BINARY SLD.FachLehrer = 'Sü'
-> GROUP BY Klasse, FachKrz ;
Code: Alles auswählen
+--------+---------------+---------+-------------+-----------+
| Klasse | Wochenstunden | FachKrz | Bezeichnung | AnzGesamt |
+--------+---------------+---------+-------------+-----------+
| 08b | 3 | M | Mathematik | 25 |
+--------+---------------+---------+-------------+-----------+
Vielen Dank und Gruß,
RAP