![]() |
Datenbank: Firebird • Version: 2 • Zugriff über: IB
Select - group by ? Distinct?
Moin,
ich habe eine Datenbank die so aufgebaut ist:
Code:
Jetzt möchte ich die Datenbank abfragen unter Berücksichtung folgender Punkte:
FELD0|FELD1|FELD2|FELD3|FELD4
0001|Auto|1000|50|30 0002|Fahrrad|4000|10|30 0003|Auto|10000|90|30 0004|Auto|20000|90|30 0005|Bus|100|70|30 -Wenn es in Feld1 Duplikate gibt soll nur das erste Vorkommnis abgerufen werden -Die Abfrage soll nach Feld0 ASC sortiert werden. Jetzt habe ich an sowas gedacht:
Code:
Das klappt aber nicht weil man GROUP BY meines Wissens nach nur auf die Gesamte Abfrage anwenden kann. Wie würdert ihr das Problem lösen ?
SELECT * FROM TABLE SORT BY FELD0 ASC GROUP BY FELD1
|
AW: Select - group by ? Distinct?
Ungetestet:
SQL-Code:
SELECT
* FROM Tabelle A WHERE Feld0 = ( SELECT MIN(Feld0) FROM Tabelle WHERE Feld1 = A.Feld1) ORDER BY Feld0 |
AW: Select - group by ? Distinct?
Hi,
Zitat:
Liebe Grüße, Frederic |
AW: Select - group by ? Distinct?
Die Frage hatte ich mir auch gestellt, aber da er nach Feld0 aufsteigend sortieren möchte hab ich mich auf den kleinsten Wert dieses Feldes festgelegt. Falls das nicht richtig ist, muss man statt MIN eben etwas anderes einsetzen ;)
|
AW: Select - group by ? Distinct?
Achso sorry ich definiere nach dem Datensatz mit der kleineren ID (FELD0)!
Hmm den Code versteh ich nicht so ganz, was hat es mit dem "A" aufsich ? :) //Edit: Dient das A als Referenz auf die Tabelle? |
AW: Select - group by ? Distinct?
Das A ist nur ein Alias, da ich 2 mal dieselbe Tabelle anspreche. Irgendwie muss ich ja die Datenmengen auseinanderhalten, um vergleichen zu können.
|
AW: Select - group by ? Distinct?
Macht Sinn und funktioniert, ich bin begeistert.
Vielen Dank für den Code :) Cheers |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 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