WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 04.12.2003, 14:04   #1
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard SQL 2000 - View(Abfrage) - Strings Verknüpfen...

Ich will in einer Abfrage mehrere Strings aus mehreren Spalten einer Tabelle verknüpfen.
Ist ja kein Problem, solange jedes Feld auch wirklich einen String (=NOT NULL) enthält. Ist das nicht der Fall, erhalte ich als Ausgabe NULL.

Jetzt würde ich gerne jedes Feld welches NULL enthält vorher überprüfen/ersetzen bevor es zusammengebaut wird.
Nur ich kommt auf keinen grünen Zweig.
In Access kann man das ganze mit der Funktion IIF erledigen (gibt es am SQL Server nicht).

Aber SQL Server gibt es dafür die Funktion Replace - jedoch funktioniert das auch nicht - z.B. REPLACE(Feld, '', 'hier war mal NULL') bzw. REPLACE(Feld, NULL, 'hier war mal NULL') - beides Funkt nicht.

Jetzt wollte ich mir 2 Teilabfragen nehmen und diese mit "UNION" verknüpfen.
In der 1. Teilabfrage hab ich alle die NULL sind - da schreib ich einfach was anderes hin.
In der 2. Teilabfrage habe ich den Rest.

Das funktioniert (jedoch mit Fehlermeldung vom SQL Server). Aber ich bekomme zumindest das richtige Ergebnis.
Das Problem was ich aber habe - ich kann diese View nicht speichern - bzw. wenn ich sie speichere dann ersetzt er mir meine ganze Abfrage mit REPLACE(Feld, '', 'hier war mal NULL') --> und das bringt ja nix.

Naja, ich bin schon etwas "genervt" da ich mit meinem Latein am Ende bin.
Aber vielleicht hat ja jemand von euch eine Idee, wie ich mein Ergebnis erhalten könnte.
renew ist offline   Mit Zitat antworten
Alt 04.12.2003, 14:24   #2
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

korrektur meinerseits:

Das mit UNION funktioniert doch - ist jedoch nicht wirklcih elegant.

Es muss doch eine Möglichkeit geben, den NULL-Wert in einer Tabelle durch etwas anderes zu ersetzten (durch einen String eine Zahl - egal was auch immer)
renew ist offline   Mit Zitat antworten
Alt 04.12.2003, 14:41   #3
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

und wieder ein Thread den die Welt nicht braucht (oder doch? )

Hab jetzt endlich eine Antwort mit Google gefunden - das Pendant zu IIF in Access schaut folgendermaßen aus:
CASE WHEN bool-expression THEN whatever ELSE whatever END

In einer Abfrage dann so:
SELECT CASE WHEN Berufstitel IS NULL THEN 'ersetzt' ELSE Berufstitel END
FROM dbo.Stammdaten
renew ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:46 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag