SQL Abfrage

Großes Problem!
Habe eine Tabelle mit einer Spalte und 17 Feldern. Einige dieser Felder können den Wert 0 enthalten. Ich muss jetzt aber die Felder auslesen, die den Wert 0 haben und nur diese muss ich mit Feldnamen auslesen. Hört sich einfach an, aber ich komme nicht drauf.
Mit
select *
from blabla
where bla bla 17 felder or and = 0 usw
gehts nicht.

Hat jemand eine Lösung?

Vielen Dank!
Gerd

Hi Gerd,

Meinst du einen Datensatz (nich Spalte) mit 17 Feldern ?
Mit einfachem SQL wüsste ich nicht, wie du dynamisch Felder abfrägst.
Ich würde es über eine übergeordnete Sprache machen, wie PL/SQL, Java usw.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ja genau, ich meine einen Datensatz mit 17 Feldern. Sorry.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Gerd,

ich hab das mal so verstanden, dass Du in etwa SO 'ne Tabelle hast:

Tabelle "Tab":

Spalte1 | Spalte2 | Spalte3 | .... | Spalte17
----------------------------------------------
 3 | 0 | 0 | | 7 

(nur EIN Datensatz!!!)

Und als Ergebnismenge willst Du in etwa so was haben:

Nullspalte
----------
'Spalte2'
'Spalte3'
 .
 .
 . 

Das könntest Du mit sechzehn „Unions“ hinkriegen:

select 'Spalte1' as Nullspalte from Tab where Spalte1=0
union
select 'Spalte2' from Tab where Spalte2=0
union
 .
 .
 .
union
select 'Spalte17' from Tab where Spalte17=0

Ich glaub, so müsste es gehen, wenn das auch nicht sonderlich schön aussieht.
Eventuell hast Du aber je nach vewendetem DBMS auch noch DBMS-spezifische Möglichkeiten.
Es ist allerdings schon spät in der Nacht und ich bin nicht mehr wirklich fit.
Also entschuldige, falls ich Müll erzählt haben sollte…

Bye
Lala

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]