Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Sortieren und manipulieren von Datenbank-Einträgen (https://www.delphipraxis.net/138600-sortieren-und-manipulieren-von-datenbank-eintraegen.html)

iKilledKenny 13. Aug 2009 11:41

Re: Sortieren und manipulieren von Datenbank-Einträgen
 
Manchmal kann man sich dann doch nur wundern, wie schnell die Dinge hier "verstanden" werden...

Zitat:

Zitat von f00shizzle
nachdem dreimal geantwortet wurde ohne zu antworten, obwohl es offensichtlich ist/war :)


Panthrax 13. Aug 2009 11:46

Re: Sortieren und manipulieren von Datenbank-Einträgen
 
Das Datum steht immer dabei? Dann könnte man es doch einfach vom entsprechenden Feld abschneiden, oder? Glücklicherweise hat es führende Nullen, so dass jedes Datum gleichlang ist.
SQL-Code:
select ...substring(Feld,1,Length(Feld)-14)...

Ines 13. Aug 2009 11:49

Re: Sortieren und manipulieren von Datenbank-Einträgen
 
So schauen die Originaldaten aus:

Delphi-Quellcode:
PETCT   PET/CT (18F-FDG) vom 03.08.2009      mit CT - Thorax
PETCT   PET/CT (18F-FDG) vom 04.08.2009      mit CT - Abdomen
PETCT   PET/CT (18F-FDG) vom 10.08.2009      mit CT - Thorax
PETCT   PET/CT (68Ga-DOTATATE) vom 10.08.2009   mit CT - Abdomen
Ich habe das Datum gelöscht, um zu zeigen, was ich als Ergebnis möchte.
Da das Datum an unterschiedlicher Position kommt, muß ich jeden Satz einzeln bearbeiten.
Es gibt auch Datensätze ohne Datum - um mir die ganze Sache zu erleichtern!!!! :stupid:
Aber wie es dann weitergeht: darüber grüble ich noch.
(Datenbank - um dann mit Select count das Ergebnis zu bekommen oder irgendeine geeignete Delphi-Komponente).

Viele Grüße
Ines

f00shizzle 13. Aug 2009 11:54

Re: Sortieren und manipulieren von Datenbank-Einträgen
 
dann wollen wir mal eine finale lösung vorstellen:

SQL-Code:
select
   beschreibung || ' ' || Anzahl
from
   (
      select
        Feld1 || ' ' || substr(Feld2, 1, instr(feld2, 'vom')-1) || ' ' || Zusatz beschreibung,
        count(*) anzahl
      from
        tabelle
      group by
        Feld1 || ' ' || substr(Feld2, 1, instr(feld2, 'vom')-1) || ' ' || Zusatz
   )
wenn man davon ausgeht das in feld2 immer ein datum enthalten ist :)

iKilledKenny 13. Aug 2009 11:59

Re: Sortieren und manipulieren von Datenbank-Einträgen
 
Zitat:

Zitat von Ines
Es gibt auch Datensätze ohne Datum - um mir die ganze Sache zu erleichtern!!!! :stupid:

Zitat:

Zitat von f00shizzle
wenn man davon ausgeht das in feld2 immer ein datum enthalten ist :)

Anstelle von SubStr und InStr würde ich dann mit RTrim arbeiten, sofern das Datum, wenn es denn vorhanden ist, IMMER als letztes kommt.

f00shizzle 13. Aug 2009 12:10

Re: Sortieren und manipulieren von Datenbank-Einträgen
 
wie wäre es denn mit einem union select :)

1x selektiere ich mir alle, in denen ein datum vorkommt, substr/instr die und
1x selektiere ich die ohne datum (rtrim wird man da sicher auch vermeiden können)

dritte möglichkeit, man bedient sich der vielfältigen möglichkeiten von regularexpression funktionen, die oracle ebenso bietet
dann reicht ein einfaches replace(feld2, regex(...), '') ...

:/

DeddyH 13. Aug 2009 12:14

Re: Sortieren und manipulieren von Datenbank-Einträgen
 
Das Datum ist mit im "Zusatz"-Textfeld gespeichert? Wer macht denn sowas? Das macht eben die Definition von "wo ein Datum drin vorkommt" u.U. sehr kompliziert.

p80286 13. Aug 2009 12:24

Re: Sortieren und manipulieren von Datenbank-Einträgen
 
[OT]

Zitat:

Zitat von DeddyH
Das Datum ist mit im "Zusatz"-Textfeld gespeichert? Wer macht denn sowas? Das macht eben die Definition von "wo ein Datum drin vorkommt" u.U. sehr kompliziert.

Du glaubst gar nicht was es da für intelligente Lösungen gibt! Stell Dir einfach mal ein "Text-Feld" vor in dem an der 5. Position ein Datum eingegeben werden soll. Zum einen ist das unter Windows mit diesen proportionalen Fonts eine echte Herausforderung, zum anderen hat beinahe jeder eine andere Vorstellung davon was das korrekte Datumsformat ist.

Gruß
K-H
[/OT]

Ines 13. Aug 2009 12:35

Re: Sortieren und manipulieren von Datenbank-Einträgen
 
Zitat:

Zitat von DeddyH
Das Datum ist mit im "Zusatz"-Textfeld gespeichert? Wer macht denn sowas? Das macht eben die Definition von "wo ein Datum drin vorkommt" u.U. sehr kompliziert.

Das Datum ist bei der Überschrift gespeichert. In der Relation ist das Datum noch an anderer Stelle gespeichert.

Ich habe Datensätze ohne Datum - da ich in einer früheren Programmversion einfach das Untersuchungsdatum an die Überschrift drangehängt habe. Aber damit ist der Ausdruck nicht 100% gleich mit den Datenbank-Einträgen.
Wenn Kaffeefleck auf dem Ausdruck - dann auch bitte auf der Datenbank!!! :evil:

Wir haben eine Oracle-RDB-Datenbank.

Ich habe mich entschlossen, eine temporäre Relation auf meiner Datenbank zu erstellen und dann die Sätze bearbeitet dorthin zu schreiben.
Anschließend kann ich mit select count... die Abfrage durchführen und das Ergebnis in eine Excel-Tabelle schreiben.

Viele Grüße
Ines

f00shizzle 13. Aug 2009 13:01

Re: Sortieren und manipulieren von Datenbank-Einträgen
 
Zitat:

Zitat von Ines
Wir haben eine Oracle-RDB-Datenbank.

schade


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr.
Seite 2 von 3     12 3      

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