Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Eindeutige Datensätze ermitteln (https://www.delphipraxis.net/183764-eindeutige-datensaetze-ermitteln.html)

Walter Landwehr 3. Feb 2015 09:52

Datenbank: Firebird • Version: 2,5 • Zugriff über: IBO

Eindeutige Datensätze ermitteln
 
Hallo,

vielleicht kann mir jemand einen Tipp geben.

Ich habe eine Tabelle mit dem Feld ICD. In diesem Feld können gleichlautende Einträge sein.
Ich benötige nun ein SQL Statement welches mir alle Datensätze der Tabelle liefert, aber nur einen Datensatz wo im Feld ICD gleichlautende Einträge sind.

Normal kann ich ja die Datensätze so filtern:

select icd
from tbl_diagnose
group by icd
having count (*) > 1

Aber ich benötige noch das Feld Diagnosenr dazu. Dieses Feld ist ein Eindeutiger Wert der per Generator erzeugt wird. Wenn ich das Feld Diagnosenr dazu mache ist das Ergebnis leer. Ist ja auch logisch.

Gibt es da einen Tipp.

Vielen Dank im voraus.

baumina 3. Feb 2015 10:09

AW: Eindeutige Datensätze ermitteln
 
SQL-Code:
select distinct icd, Diagnosenr
from tbl_diagnose

mkinzler 3. Feb 2015 10:11

AW: Eindeutige Datensätze ermitteln
 
Und Diagnosenummer welches Datensatzes soll dann genommen werden?

Walter Landwehr 3. Feb 2015 10:23

AW: Eindeutige Datensätze ermitteln
 
An Baumina,

so geht es nicht, distinct geht nur auf einem Feld. Dein Statement bringt auch alle Datensätze wo icd mehrfach vorkommt. Ich möchte alle Datensaätze einer Tabelle, aber nur einen wo icd gleich ist.

baumina 3. Feb 2015 10:37

AW: Eindeutige Datensätze ermitteln
 
SQL-Code:
select icd, Diagnosenr
from tbl_diagnose
group by icd
evtl. noch ein
SQL-Code:
order by icd, Diagnosenr

mkinzler 3. Feb 2015 10:46

AW: Eindeutige Datensätze ermitteln
 
Das 1. Statement ist fehlerhaft und beim 2. bekommt er wieder alle.

Er beenötigt ein Aggegat, deshalb meien Frage, welchen DS er will ( ersten/letzten, kleinsten/größten, Durchschnitt, ...)

baumina 3. Feb 2015 10:51

AW: Eindeutige Datensätze ermitteln
 
Ich dachte er will alle, nur von den doppelten nur je einen.

Edit: ja statt dem Group by kann man auch min(Diagnosenr) machen, stimmt.

Walter Landwehr 3. Feb 2015 10:58

AW: Eindeutige Datensätze ermitteln
 
Genau richtig, ich will alle Datensätze aber nur jeweils einen wo icd mehrfach ist.

Walter Landwehr 3. Feb 2015 11:02

AW: Eindeutige Datensätze ermitteln
 
So scheint es zu gehen, muss ich aber noch genauer testen.

select icd, min(Diagnosenr) as Nummer
from tbl_diagnose
group by icd

pelzig 3. Feb 2015 11:37

AW: Eindeutige Datensätze ermitteln
 
Du kannst Dich 100%ig auf jeden SQL-Dialekt verlassen!

Nur den selbstprogrammierten Sachen musst Du stets mißtrauen!

MfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:20 Uhr.
Seite 1 von 2  1 2      

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