Rows als Spalten?

won_gak

Erfahrenes Mitglied
Hallo Leute,

ich frage mich, ob es eine Möglichkeit gibt bei folgender Struktur:

Code:
Tabelle User
|--------------------|
| id | username |
|---------------------|
| 1  |   xxx             |
|--------------------|

und 
Tabelle Daten
| id | user_id | setting | value |
|--------------------------------------|
| 1  |    1         |   bla      |  ded   |
| 2  |    1         |   bla2   |  dewd |
|--------------------------------------|

eine Abfrage zu erstellen, die mir "bla" und "bla2" als Spalte zurückgibt?

Also:
Code:
Result:
|--------------------|-----------|---------|
| id | username |   bla      | bla2   |
| 1  |   xxx            | ded       | dewd |
|-----------------------------------------|
 
select
A.setting as Spalte1
B.setting as Spalte2
from
Daten A, Daten B
where
A.Id != B. id and
A.User_id = B.User_id and
A.User_Id = '1'

geht natürlich nur dann, wenn auch genau 2 Einträge in Daten für User_id = '1' vorhanden sind.

vop
 
geht natürlich nur dann, wenn auch genau 2 Einträge in Daten für User_id = '1' vorhanden sind.
Jo, genau das ist das Problem.

Vielen Dank auf jeden Fall für deine schnelle Hilfe. Leider ist es noch immer nicht das, was ich gesucht habe. Ich spiele schon seit einigen Minuten an der Abfrage, komm aber noch auf keine adäquate Lösung.
Bei deiner Lösung geht es eben nur, wenn die Anzahl der Settings bekannt ist (kein Problem). Und EINE User_id (geht auch).
Wenn ich aber eine einzige, schöne usertabelle mit allen Usern haben will und falls kein setting vorhanden, dann leer
 
versuch dann doch mal


select
A.User_id,
A.setting as Spalte1
B.setting as Spalte2
from
Daten A, Daten B
where
A.Id != B. id and
A.User_id = B.User_id and
A.User_Id = B.USER_id and
A.Setting is not null and
B.Setting is not null

gibt wohl Probleme, wenn mehr als zwei Einträge für User_id vorhanden sind, glaub ich

vop
 
Die Idee war variable Felder für Usereinstellungen zu haben. Falls
user_id, setting
nicht gesetzt ist =>
value ist auch nicht gesetzt.

Falls in ferner Zukunft noch mehr settings hinzukommen sollten, müsste man so nicht in der Tabellenstruktur rumspielen.
Das hieße aber auch, dass die Anzahl der settings <=> user_id nicht begrenzt sein müsste.

Blöd eben, dass die Settings hier als Rows gespeichert sind...
 
Zurück