Seite 1 von 1

[SOLVED] SQL Order By Funktion Abfragen-interne Aliase

Verfasst: Mi 18. Apr 2018, 16:14
von asdzocker
Hallo liebe Leute,
ich hab eine Frage Zur Order By Funktion, die nach einiger eigener Recherche nicht beantworten konnte. Gibt es eine Möglichkeit, das Order By auf Aliase zu beziehen, die ich in der Abfrage benutze? Ich frage, weil ich gerne nach dem Ergebnis einer Case When Funktion sortieren möchte, die aber je nach Fall ein Feld aus einer anderen Tabelle benutzt. Geht da was?

Danke schonmal fürs Gedankenmachen
Asdzocker

Re: SQL Order By Funktion Abfragen-interne Aliase

Verfasst: Mi 18. Apr 2018, 17:05
von asdzocker
Habe selbst eine mögliche Lösung gefunden.
Habe das Case When in die Order By Funktion kopiert. Allerdings behauptet Base jetzt, dass das das Order-By item nicht in der Select Distinct Liste auftaucht (was es ja auch nicht kann, weil ist ja eine Funktion). Jemand da eine Idee?
Asdzocker

Re: SQL Order By Funktion Abfragen-interne Aliase

Verfasst: Mi 18. Apr 2018, 19:09
von RobertG
Hallo Asdzocker,

lass erst einmal die Sortierung raus. Der Code, den Du jetzt in der Abfrage hast, ist Deine 'Tabelle' für die weitere Abfrage:

Code: Alles auswählen

SELECT * FROM "Abfrage" ORDER BY ...
Base macht das intern nicht anders, wenn Du z.B. eine Abfrage als Grundlage für eine Abfrage nimmst.

Gruß

Robert

Re: SQL Order By Funktion Abfragen-interne Aliase

Verfasst: Fr 20. Apr 2018, 10:22
von asdzocker
Danke.
Schade, dass das scheinbar nicht direkt funktioniert, sondern über mehrere Anfragen gelöst wird.
Vielen Dank für die Hilfe.
Asdzocker

Re: [SOLVED] SQL Order By Funktion Abfragen-interne Aliase

Verfasst: Fr 20. Apr 2018, 21:17
von RobertG
Hallo Asdzocker,

doch, das funktioniert so direkt. Die "Abfrage" aus meinem Beispiel steht für den Code Deiner Abfrage. Hier etwas detaillierter an einem Beispiel:

Code: Alles auswählen

SELECT * FROM (SELECT "Vorname", "Nachname", DATEDIFF('yy',"Geburtsdatum",CURRENT_DATE) AS "Alter") ORDER BY "Alter"
In den Klammern ist der Code, der bisher in Deiner Abfrage stand. Anders macht das Base auch nicht. Das siehst Du spätestens dann, wenn Du eine Abfrage, die auf einer anderen Abfrage aufbaut, zu einer Ansicht machst. Die schaut dann genau so aus wie oben.

Gruß

Robert

Re: [SOLVED] SQL Order By Funktion Abfragen-interne Aliase

Verfasst: Fr 20. Apr 2018, 21:21
von asdzocker
Ah, danke.