2011-01-04 6 views
0

Tabellenname: EmployeeIst die Prüfung der Null-Bedingung in einer Select-Abfrage

wählen Sie Name, Alter, Photopath von Mitarbeiter;

Ich muss die Abfrage umrahmen, dh wenn der Fotopfad null ist, dann muss ich Fotocloumn zurückgeben, das ein BLOB ist.

PhotoPath - wird http://www.servername.com/imagename.html

Dank sein.

+0

Angenommen, der Blob ist Null, wenn ein Pfad vorhanden ist, warum nicht einfach beide Spalten zurückgeben und die Logik in den Code einfügen. Wenn Sie verschiedene Datentypen in derselben Spalte zurückgeben, muss die App herausfinden, welche Version sie hat, was mehr Kopfschmerzen bereitet. – JohnFx

+1

@JohnFX - Ich suche nach dem Dateipfad, wenn das null ist, lade ich das Blob-Image. – Sharpeye500

+0

Okay, da Sie Ihren Code trotzdem einchecken. Warum nicht beide Spalten aus Ihrer Abfrage zurückgeben? Problem gelöst. – JohnFx

Antwort

1

Sie können IF() verwenden, um nach der Bedingung zu suchen, und eine von zwei Spalten zurückgeben. Möglicherweise in Kombination mit AS, um einen eindeutigen Feldnamen zu erstellen (wenn das Ihr Ziel ist).

+0

Ich brauche nur ausgewählte Abfrage, nicht gespeicherte Prozedur. – Sharpeye500

+0

@Sharpeye 'IF()' hat nichts mit gespeicherten Prozeduren zu tun. Sie meinen 'IF' (ohne'() ') –

+0

wählen Sie if (isnull (photopath), Foto) von Mitarbeitern; Ich verstehe es nicht richtig. Bitte korrigieren Sie mich. – Sharpeye500

0

SELECT IF (field1 ist NULL, field2, field1) FROM table1;

Verwandte Themen