Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Wie kann man Felder kaskadieren wenn ein Feld null ist? (https://www.delphipraxis.net/159725-wie-kann-man-felder-kaskadieren-wenn-ein-feld-null-ist.html)

ibp 10. Apr 2011 12:19

Datenbank: interbase • Version: 6.5 • Zugriff über: egal

Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Wenn ich folgende Query absetzte
Code:
update tabelle set kombifeld = feld1||feld2||feld3
und eines der Felder feld1,feld2 oder feld3 ist null dann ist auch Ergebnis kombifeld = null.

Wie bekomme ich es hin, dass man Felder kaskadieren kann ohne ein null Ergebnis zu bekommen?

mkinzler 10. Apr 2011 12:29

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
IIF(), case..when, NULLIF(), ...

omata 10. Apr 2011 13:01

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Code:
coalesce(...)

ibp 10. Apr 2011 13:03

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Zitat:

Zitat von mkinzler (Beitrag 1094230)
IIF(), case..when, NULLIF(), ...

leider keines mit ib6.5 verwendbar...

Gibt es noch andere Ideen?

mkinzler 10. Apr 2011 13:13

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Dann würde ich auf eine neuere Version von IB oder FireBird umsteigen

jobo 10. Apr 2011 13:17

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
ist denn 6.6 so alt?
Oder vielleicht ein Syntaxproblem?

Hier noch mal 2 Vorschläge?
Case ..
http://www.webdesignforums.net/threa...ernative.1413/

oder udf
http://www.tek-tips.com/viewthread.c...647818&page=10

ibp 10. Apr 2011 13:19

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Zitat:

Zitat von mkinzler (Beitrag 1094238)
Dann würde ich auf eine neuere Version von IB oder FireBird umsteigen

ist leider kein privates Projekt und das allen Anwender vorzuschreiben wäre ungünstig!

omata 10. Apr 2011 13:21

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Und?

mkinzler 10. Apr 2011 13:27

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Eine Umstellung von IB6.5 auf FireBird 2.5 würde die Anwender nichts kosten und viele weitere neue Features bringen.

ibp 10. Apr 2011 13:36

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Zitat:

Zitat von omata (Beitrag 1094243)
Und?

und was?

@jobo: ja leider sind die Möglichkeiten mit 6.5 nicht gerade up to date.

Das Problem ist noch, dass Feldx unterschiedliche Typen hat.

mkinzler 10. Apr 2011 13:41

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Wenn man nicht umsteigen will, beliebt ja nur der Einsatz von UDF

omata 10. Apr 2011 13:42

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Wenn du das selbst nicht merkst, warum sollte ich da noch etwas zu sagen? Wer lesen kann ist klar im Vorteil.

ibp 10. Apr 2011 13:49

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Zitat:

Zitat von mkinzler (Beitrag 1094252)
Wenn man nicht umsteigen will, beliebt ja nur der Einsatz von UDF

werde mich mal daran probieren...

Zitat:

Zitat von omata (Beitrag 1094253)
Wenn du das selbst nicht merkst, warum sollte ich da noch etwas zu sagen? Wer lesen kann ist klar im Vorteil.

wenn du nicht eindeutig fragst, warum sollte ich dich dann nicht zu einer Erklärung auffordern?

omata 10. Apr 2011 13:50

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Hallo? Ich warte immer noch auf eine Antwort von Dir. Auf einen Hinweis von mir. Also irgendwie, alles klar?

ibp 10. Apr 2011 13:54

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Zitat:

Zitat von omata (Beitrag 1094234)
Code:
coalesce(...)

kein Feature von ib6.5

omata 10. Apr 2011 13:55

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Ok, danke für die Rückmeldung. Das hatte ich nicht gewusst, sorry.

Blup 12. Apr 2011 09:53

AW: Wie kann man Felder kaskadieren wenn ein Feld null ist?
 
Eine Stored Procedure würde sich anbieten.
Ansonsten ein Script so in etwa:
Code:
update tabelle set kombifeld = '';
update tabelle set kombifeld = feld1              where (feld1 is not null);
update tabelle set kombifeld = kombifeld || feld2 where (feld2 is not null);
update tabelle set kombifeld = kombifeld || feld3 where (feld3 is not null);
update tabelle set kombifeld = null               where (kombifeld = '');


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:34 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