Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQL select mit group by (https://www.delphipraxis.net/109988-sql-select-mit-group.html)

barnti 11. Mär 2008 09:05

Datenbank: Oracle • Version: 9 • Zugriff über: ODBC

SQL select mit group by
 
Hallo,

ich brauche Hilfe bei der Formulierung eines Select-Statements. Bin mir gar nicht sicher, ob das überhaupt funktioniert. Ich möchte die Anzahl von zurückgelieferten Datensätzen optimieren ohne das Information dabei verloren geht. Dazu Folgendes:

Produkt_Nr Produktgruppe
110 ---------------- a
111 ---------------- a
112 ---------------- a
113 ---------------- a
114 ---------------- a
115 ---------------- a
116 ---------------- a
117 ---------------- a
118 ---------------- a
119 ---------------- a
120 ---------------- b
121 ---------------- a
//
221 ---------------- c
222 ---------------- c
223 ---------------- c
224 ---------------- d

800 ---------------- x
...
899 ---------------- x
900 ---------------- y

Ich möchte nun die Abfrage der beiden TAbellen so gestalten, dass ich mit Hilfe der Produktnummer verkürzt die jeweilige Produktgruppe bestimmen kann. Beispiel für das Ergebnis der Abfrage:

Produkt
11 ----------------- a
120 ---------------- b
121 ---------------- a
221 ---------------- c
222 ---------------- c
223 ---------------- c
224 ---------------- d
8 ------------------ x
900 ---------------- y
Der Algorithmus ließe sich ungefähr so beschreiben:
Bei aufeinanderfolgenden Produktnummern mit gleicher Produktgruppe soll nur die ersten signifikanten Stellen der Produktgruppe und die Produktgruppe dargestellt werden. Dies soll auch für 100 aufeinander folgende Produkte gelten (oder mehr).

Kann mir jemand sagen, ob das überhaupt möglich ist, dies als Abfrage zu formulieren? Wie wäre ein Ansatz dafür?

Vielen Dank für eure Aufmerksamkeit,

Eppos 11. Mär 2008 11:01

Re: SQL select mit group by
 
Ich glaube nicht nicht das das funktioniert mit einem SQL, wenn dann manuell auslesen und zusammenzählen...

barnti 11. Mär 2008 17:57

Re: SQL select mit group by
 
Hi,

das hatte ich befürchtet! Ich werde mal weiter forschen. Danke für die Antwort so weit!

omata 11. Mär 2008 20:13

Re: SQL select mit group by
 
Das geht nicht so wie du möchtest, aber vielleicht hilft dir folgendes weiter...

SQL-Code:
SELECT produktgruppe, MIN(produkt_nr) start, MAX(produkt_nr) ende
FROM tabelle
GROUP BY produktgruppe
Gruss
Thorsten


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 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 by Thomas Breitkreuz