Hallo,
ich habe eine Tabelle mit Daten(id, name, vorname, ....) von Personen(personen) und eine mit Aufgaben(plan).
Die Tabelle plan hat neben weiteren Feldern die einzelnen Aufgaben als Feldnamen in denen jeweils die id der Person aus der Tabelle personen gespeichert ist.
Die Aufgaben(-felder) sind im Moment bei 20 und es könnten noch weitere dazu kommen.
Als Rückgabe meiner SQL Abfrage möchte ich die Namen der Personen (und die weiteren aus der plan Tabelle).
Im Moment sieht meine Abfrage so aus:
Ich habe es hier mal auf 3 reduziert, aber es sind wesentlich mehr.
Kann man das auch irgendwie eleganter lösen?
Vielen Dank schon mal für eure Hilfe!
ich habe eine Tabelle mit Daten(id, name, vorname, ....) von Personen(personen) und eine mit Aufgaben(plan).
Die Tabelle plan hat neben weiteren Feldern die einzelnen Aufgaben als Feldnamen in denen jeweils die id der Person aus der Tabelle personen gespeichert ist.
Die Aufgaben(-felder) sind im Moment bei 20 und es könnten noch weitere dazu kommen.
Als Rückgabe meiner SQL Abfrage möchte ich die Namen der Personen (und die weiteren aus der plan Tabelle).
Im Moment sieht meine Abfrage so aus:
Code:
SELECT plan.id, CONCAT(v1.vorname,' ',v1.name) as aufgabe1 ,
CONCAT(v2.vorname,' ',v1.name) as aufgabe2,
CONCAT(v3.vorname,' ',v1.name) as aufgabe3
from plan
LEFT JOIN personen v1 ON v1.id= plan.aufgabe1
LEFT JOIN personen v2 ON v2.id= plan.aufgabe2
LEFT JOIN personen v3 ON v3.id= plan.aufgabe3
Kann man das auch irgendwie eleganter lösen?
Vielen Dank schon mal für eure Hilfe!