Hallo,
ich möchte eine sql-abfrage erstellen, die mir nur die spalten ausgibt, in der irgendein datensatz einen wert drin stehen hat.
ich mach das ganze in asp.
und so siehts zur zeit aus
dh ich mach ne abfrage auf die tabelle. nehme mir jede einzelne spalte und mach darauf einen count. wenn der größer 0 ist, sind werte in der spalte und zeige den spaltennamen an und wenn keine werte drin sind, zeige ich ihn nicht an.
dann mach ich nochmal ne abfrage mit den feldern auf die tabelle, um den inhalt dieser spalten anzuzeigen
das ist natürlich sehr zeitaufwändig, da meine tabellen ca 20 spalten haben.
geht das auch einfach und schneller? zb indem ich nur die spalten anzeige, wo irgendwo was drin steht?
danke schon mal...
schöne grüße,
claudi
ich möchte eine sql-abfrage erstellen, die mir nur die spalten ausgibt, in der irgendein datensatz einen wert drin stehen hat.
ich mach das ganze in asp.
und so siehts zur zeit aus
Code:
[...]
SET rs = conn.Execute("SELECT * FROM " & tabelle & where_klausel)
FOR i = 0 TO rs.Fields.Count - 1
if rs.fields(i).name <> "dateinr" then
SET rs_anzahl = conn.Execute("SELECT COUNT ([" & rs.fields(i).name & "]) AS anzahl FROM " & tabelle& where_klausel)
IF rs_anzahl.fields("anzahl") > 0 THEN
response.write "<td>" & rs.fields(i).name & "</td>"
felder = felder & "[" & rs.fields(i).name & "],"
END IF
rs_anzahl.Close
end if
NEXT
SET rs = conn.Execute("SELECT " & felder & " FROM " & tabelle& where_klausel)
[...]
dann mach ich nochmal ne abfrage mit den feldern auf die tabelle, um den inhalt dieser spalten anzuzeigen
das ist natürlich sehr zeitaufwändig, da meine tabellen ca 20 spalten haben.
geht das auch einfach und schneller? zb indem ich nur die spalten anzeige, wo irgendwo was drin steht?
danke schon mal...
schöne grüße,
claudi