Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird 1.5 - Select in Select sortieren (https://www.delphipraxis.net/109990-firebird-1-5-select-select-sortieren.html)

Eppos 11. Mär 2008 09:53

Datenbank: fb • Version: 1.5 • Zugriff über: bde

Firebird 1.5 - Select in Select sortieren
 
Hallo zusammen,

bei Folgendem SQL möchte ich Felde sortieren:

SQL-Code:
Select
( Select
  Sum(T2.Feld1)
  from Tabelle_2 T2
  Left Join Tabelle_3 T3 on (T3.ID=T2.T3_ID)
  where T2.T1_ID=T1.ID
  Group by T2.ID, T3.ID
) as Neues_Feld,
T1.*
from Tabelle_1 T1
jetzt möchte ich nach diesem "Neues_Feld" sortieren, also order by 1
funktioniert nicht.

Vielen Dank

Eppos

Pascal P 11. Mär 2008 10:01

Re: Firebird 1.5 - Select in Select sortieren
 
Warum soll Order by 1 nicht funktionieren?
Hab es eben unter nem Firebird 1.5.3 getestet und hab dabei keine Probleme.


Hier mein Statement, dass zwar etwas vereinfacht ist, aber dennoch den gleichen Effekt haben sollte:

SQL-Code:
SELECT
(SELECT SUM(T2.MENGE) FROM TABELLE2 T2
 WHERE T2.ID = T1.ID) AS NEUES_FELD,
T1.ID
FROM TABELLE1 T1
WHERE T1.REFERENZFELD = 123
ORDER BY 1

Eppos 11. Mär 2008 10:04

Re: Firebird 1.5 - Select in Select sortieren
 
bei mir kommt da folgende Meldung:

General SQL error.
"Multiple rows in singlton select"

Pascal P 11. Mär 2008 10:22

Re: Firebird 1.5 - Select in Select sortieren
 
Dann liegt das an deinem Sub-Select, dass dieses mehrere Datensätze ermittelt.

Mach einfach mal folgendes:

Führ dein Statement aus und geh mal die Datenquelle bis zum Ende durch. Du wirst entweder sofort beim ausführen oder beim durchlaufen deiner Daten die selbe Meldung bekommen.


EDIT: Du könntest im Subselect auch mal in der GROUP BY das T3.ID rausnehmen und dann das ORDER BY 1 reinmachen. Das sollte auch gehen, liefert aber natürlich im Subselect nicht zwingend das selbe Ergebnis


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz