TomIRL: MySQL: Feldnamen aus Tabelle zuweisen

Beitrag lesen

Hallo zusammen,

Tabellen:

umfrage

Feld        Typ             Inhalt
id          bigint(14)      z.B. 2
frage       text            z.B. Welche Stunde soll samstags...
enddatum    date            z.B. 2004-02-01
erstellt_am datetime        z.B. 2004-01-03 18:33:32
aktiv       tinyint(1)      z.B. 1

umfrage_optionen

Feld        Typ             Inhalt
id          bigint(14)      z.B. 4
umfrage_id  bigint(14)      z.B. 2
opt_1       varchar(255)    z.B. Yoga
erg_1       int(11)         z.B. 22
opt_2       varchar(255)    z.B. Chi Gong
erg_2       int(11)         z.B. 41
opt_3       varchar(255)    z.B. Bodyworkout
erg_3       int(11)         z.B. 19

Ich möchte das eine Query dieser Tabelle einer Umfrage folgendes liefert:

Frage               Yoga     Chi Gong    Bodyworkout
Welche Stunde(...)  22       41          19

Diese Query läuft nicht:
SELECT u.frage, uo.erg_1 AS uo.opt_1, uo.erg_2 AS uo.opt_2, uo.erg_3 AS uo.opt_3 FROM umfrage AS u, umfrage_optionen AS uo WHERE u.id = 2

Fehlermeldung: You have an error in your SQL syntax near '.opt_1, uo.erg_2 AS uo.opt_2, uo.erg_3 AS uo.opt_3 FROM umfrage

Ich erlaube mir mal nachzufragen:
Du fragst  ab spalte aus uo erg 1 willst Du haben als spalte aus uo.opt1.

Die Iren bezeichnen so etwas gern mal als Bullshit.:-)
$sql="SELECT * FROM umfrage, umfrage_optionen WHERE id=umfrage_id";

$result = mysql_query($sql,....) ;
while ($f = mysql_fetch_array($result));
           { foreach($f as $spaltenname => $wert)
             { print ("$spaltenname:$wert");
              }

}

Geht das so überhaupt, hab ich was falsch geschrieben? In der MySQL-Doku hab ich leider auch nix gefunden. Über einen Link der mit weiterhilft würde ich mich auch schon freuen :-)

Es geht nicht wie Du ja schon selber festgestellt hast.
Da Dir scheinbar noch ein ganzer Batzen Grundlagen fehlt empfehle ich  Dir mal folgendes Tutorial.
http://ffm.junetz.de/members/reeg/

Also ich möchte mit AS nicht einen "statischen" Feldnamen vergeben, sondern es sollen die Namen der opt_*-Felder als Feldnamen für die entsprechenden erg_*-Felder benutzt werden.
Ich dachte das geht mit einer Query, zur Not nehm ich halt zwei Abfragen und lasse erst die opt_*-Felder ausgeben und nehm die dann in die andere Abfrage als Feldnamen rein.

Das verstehe ich nicht ...
Warum so kompliziert?
Viele Grüße aus Berlin

TomIRL