Ilja: bedingt datensätze vergleichen und bedingt ausgeben

Beitrag lesen

moin,

ich habe eine datenbank mit der tabelle *daten* und den *feldern* "id", "name", "vorname", "user", "passwort", "nr1", "nr2", "nr3", "nr4" ... .

daten ist ein schlechter name für eine tabelle, er sagt nichst aus über die inhalte der tabelle. besser wäre zum beispiel kunden oder was auch immer in der tabelle stehen soll.

die nr felder könnten darauf schließen, dass du ein design problem hast. das läßt sich mit gewissheit aber nicht sagen, da wir nichts deine fachliche umgebung kennen. aber aus den bauch heraus würde ich sagen, soltest du die nr spalten in eine andere tabelle auslagern. aber auch hier wurden wieder die spaltennamen sehr schlecht gewählt wurden und somit erschließt uns nicht der sinn. namen sollten zwei eigenschaften erfüllen, so kurz wie möglich und so sprechend wie nötig. sprechend heißt, ich lese den namen einer tabelle /object oder der spalten und der name gibt mir informationen darüber, worum es sich dabei handelt.

die ausgabe müsste nun sein:

user B: nr1 ja, nr2 ja, nr3 ja, nr4 ja, nr5 ja
user C: nr2 ja, nr4 ja, nr5 ja

im normalfall geben abfragen ein resultset zurück, wo die anzahl der spalten für alle datensätze gleich ist. das ergebnis entspricht "quasi" wieder einer tabelle. du kannst demnach nicht in einem datensatz 5 spalten haben und in dem anderen 3. was du machen kannst ist entweder alles zu einer spalten zusammenzuführen oder aber die anderen "fehlenden" spaltenwerte mit NULL werten auffüllen. das hängt aber auch immer ein stück weit davon ab, wie sie weiterverarbeitet werden, ob sie nur angezeigt oder ob auf die jeweiligen einzelnen spalteninhalte auch danach noch in irgendeiner form zugefriffen werden soll.

am besten kann man dir helfen, wenn du uns ein wenig mehr feedback gibst, was du überhaupt machen willst. oftmals ergibt sich dann ein ganz anderer ansatz.

Ilja