ich habe 3 ( Firmen, Gruppen, Mitarbeiter) tabellen die nach folgendem Muster aufgebaut sind
ID , Name, Vorname, Strasse, ....
und eine tabelle aktionen
AID
Utyp ENUM('F','G','M') // Angabe welche der obrigen Tabellen zugeordnet ist
Uid // Id in der obrigen Tabelle
Nun möchte ich eine Ausgabe
AID, Utyp, Name, Vorname, Strasse
gibt es eine möglichkeit die Abfrage nach name, vorname, strasse
in einer subquery zusammen zufassen
ID , Name, Vorname, Strasse, ....
und eine tabelle aktionen
AID
Utyp ENUM('F','G','M') // Angabe welche der obrigen Tabellen zugeordnet ist
Uid // Id in der obrigen Tabelle
Nun möchte ich eine Ausgabe
AID, Utyp, Name, Vorname, Strasse
Code:
select AId, Utyp, if(a.Utyp='M',(select m.name from mitarbeiter m where m.ID=a.Uid), if(a.Utyp='F' , (select f.name from firmen f where f.ID=a.Uid), if(a.eUtyp='G',(select g.name from gruppen g where g.ID=a.Uid)))) as name, if(a.Utyp='M',(select m.vorname from mitarbeiter m where m.ID=a.Uid), if(a.Utyp='F',(select f.vorname from firmen f where f.ID=a.Uid), if(a.eUtyp='G',(select g.vorname from gruppen g where g.ID=a.Uid)))) as vorname if(a.Utyp='M',(select m.strasse from mitarbeiter m where m.ID=a.Uid), if(a.Utyp='F',(select f.strasse from firmen f where f.ID=a.Uid), if(a.eUtyp='G',(select g.strasse from gruppen g where g.ID=a.Uid)))) as strasse from aktionen
in einer subquery zusammen zufassen

Kommentar