dedlfix: Keine Ausgabe - komplizierte Abfrage

Beitrag lesen

Tach!

SELECT .. FROM kalender_termine
JOIN kalender_arten usw. 
WHERE kt_datum = '..'

das habe ich gestern bereits gemacht:
https://forum.selfhtml.org/self/2019/may/26/keine-ausgabe-komplizierte-abfrage/1749400#m1749400

Ich dachte bis zu diesem Zeitpunkt immer, die Reihenfolge spielt keine Rolle.

Die Reihenfolge bestimmt ja ob es ein LEFT oder RIGHT Join wird.

Das ist nach wie vor nicht richtig. Ein Outer Join, ob Left oder Right, benötigt LEFT oder RIGHT als Schlüsselwort, sonst ist es ein Inner Join. Lediglich das Schlüsselwort OUTER kann weggelassen werden.

Dass es dann immer noch darauf ankommt, was links vom LEFT/RIGHT OUTER JOIN und was rechts steht, ist unbestritten. Das sollte ja auch anhand des Verhaltens klar sein, dass eine davon die Haupttabelle sein muss, deren Datensätze immer in die Ergebnismenge kommen, und die Felder der anderen bei Abwesenheit eines Datensatzes mit Verknüpfungsbedingung zu NULL werden können. Nur das Schlüsselwort LEFT/RIGHT kann nicht wegelassen werden.

Und arbeite mit aussagekräftigen Alias'n bei Deinen Abfragen!

Du meinst mit AS? Ich finde persönlich es sehr umständlich jede Spalte umzubenennen.

Das ist auch nicht notwendig. Wenn du mit deiner Benennung zufrieden bist und du keinen Grund für eine Alias siehst oder es keinen technischen Zwang gibt (gibt es in dem Fall nicht), kannst du das problemlos so lassen.

Ja, AS bzw. Alias. Es geht ja nicht um das Umbebennen schlechthin sondern um die Weiterverarbeitung! So kann man z.B. die Aliase auf die Schlüssel einer Templating Engine anpassen und dies auch umgekehrt.

Das kann man auch mit den derzeitigen Bezeichnern.

Wenn das Template bereits steht und der Kollege sagt da muss Vorname rein dann wird einfach nur ein Alias entsprechend gesetzt und nicht das ganze Template geändert.

Ja, wenn dann. Es gibt immer Gründe für irgendeine bestimmte Maßnahmen. Nur es als unabdingbar hinzustellen, ist nicht notwendig.

dedlfix.