Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Spalte der Query anhängen (https://www.delphipraxis.net/127876-spalte-der-query-anhaengen.html)

haentschman 20. Jan 2009 15:48

Datenbank: Firebird • Version: 2.0 • Zugriff über: Zeos

Spalte der Query anhängen
 
Hallo alle... :hi:

...ich bräuchte eigentlich nur in einem SELECT eine neue Spalte mit einem definierten Wert (Integer) bzw. eine vorhandene Spalte den Wert durch den definierten Integerwert ersetzen.

ich probiere schon eine weile mit CASE herum aber mein Firebird oder auch Zeos verstehen mich nicht. :?
Delphi-Quellcode:
ZQueryICD.SQL.Text:= 'select *,case GRUPPE when GRUPPE > 0 then 1 else 0 end '+ QuotedStr('Gruppe')+' from ICD order by GRUPPE';
ZQueryICD.Open;
PS: diverse Syntaxvarianten der verschiedenen Tutorials habe ich schon durch...

--> invalid Token...bla,bla,bla

:?: welche Möglichkeiten hätte ich noch ?

Danke

nahpets 20. Jan 2009 15:52

Re: Spalte der Query anhängen
 
Hallo,

geht das nicht?
Delphi-Quellcode:
ZQueryICD.SQL.Text:= 'select *,case GRUPPE when GRUPPE > 0 then 1 else 0 end As Gruppe2 from ICD order by GRUPPE';
ZQueryICD.Open;
Da Du schon eine Spalte Gruppe hast, musst Du der zweiten Spalte einen (etwas) anderen Namen geben.

haentschman 20. Jan 2009 15:59

Re: Spalte der Query anhängen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Danke für die schnelle Antwort... :thumb:
Delphi-Quellcode:
ZQueryICD.SQL.Text:= 'select *,case GRUPPE when GRUPPE > 0 then 1 else 0 end as Gruppe2 from ICD order by GRUPPE';
ZQueryICD.Open;
...bricht mit der Meldung im Anhang ab :?

PS: Spalte 9 ist das , zwischen * und case :gruebel:

mikhal 20. Jan 2009 16:07

Re: Spalte der Query anhängen
 
Laß mal das erste GRUPPE weg, also so
SQL-Code:
ZQueryICD.SQL.Text:= 'select *,case when GRUPPE > 0 then 1 else 0 end as Gruppe2 from ICD order by GRUPPE';
GRUPPE > 0 ist hier der Boolsche Ausdruck, der bei CASE WHEN erwartet wird.

Grüße
Mikhal

haentschman 20. Jan 2009 16:35

Re: Spalte der Query anhängen
 
...das mag er auch nicht :roll:

da wird das erste , bemängelt

nach dem FB Tutorial:
(einfaches CASE)
Delphi-Quellcode:
select name,age,case upper(sex)
  when 'M' then 'Male'
  when 'F' then 'Female'
    else 'Unknown'
end,religion from people
(erweitertes CASE)
Delphi-Quellcode:
CanVote = case
  when Age >= 18 then 'Yes'
  when Age < 18 then 'No'
    else 'Unsure'
end;
:gruebel:

erster Erfolg:
:warn: hinter dem * im SELECT darf mal grundsätzlich kein , stehen.
Mit den genauen Feldern läuft er durch. Ich habe aber noch nicht die Ergebnismenge, welche ich möchte. Der Tree, in welchem das dann dargestellt wird hängt sich auf :gruebel:

joachimd 20. Jan 2009 17:06

Re: Spalte der Query anhängen
 
versuche es mal, dein Sternchen zu spezifizieren. Manche DBMS machen da Zicken, wenn das Select über mehr als die Felder geht.
SQL-Code:
SELECT a.*, ... FROM mytable a

haentschman 24. Jan 2009 08:02

Re: Spalte der Query anhängen
 
Guten Morgen...Update. :P

Zitat:

Der Tree, in welchem das dann dargestellt wird hängt sich auf
...die Ergebnismenge war so wie ich sie erwartet hatte. Nur waren die ca. 40000 Nodes etwas viel für den Tree :gruebel:

:hi:

mkinzler 24. Jan 2009 08:08

Re: Spalte der Query anhängen
 
Was für eine Treekomponente?

haentschman 24. Jan 2009 08:24

Re: Spalte der Query anhängen
 
JvDBTreeView...

PS: ich hatte dümmlicherweise mir eine Query mit einer großen Menge zum Testen ausgesucht. In der richtigen Variante sollen die Nodes das Ergebnis einer Suche sein. 8)

PS1: die gesamten Daten stukturiert in diversen Knoten und Unterknoten sind kein Problem. Ich wollte mit der Suche erreichen, daß alle gefundenen egal aus welchem Unterknoten in einem Knoten dargestellt werden. Und das war wahrscheinlich ein wenig viel. Ich habe die Ergebnismenge eingeschränkt und ich hatte das was ich möchte. :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 Uhr.

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