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.
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]
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]