Noch ne Frage:
Wie gehts sowas:
[sql]SELECT
tasks.ID,
CASE
WHEN adressbook.firma IS NOT NULL THEN firma
ELSE CONCAT(adressbook.name, ", ", adressbook.vorname)
END AS kunde
FROM tasks INNER JOIN adressbook ON tasks.KID = adressbook.ID
INNER JOIN task_types ON tasks.TID = task_types.TID
INNER JOIN task_groups ON tasks.TGID = task_groups.TGID
ORDER BY kunde ASC;
[/sql]
Die einzelnen Aufträge in tasks haben verschiedene KIDs (Kunden-IDs).
Mit dem ganzen mischmasch mit den INNER JOINs von oben haben wir
ja mittlerweile hinbekommen, das ich mit einem Statement für jeden Auftag
nichtnur die KID, sondern auhc gleich den Kundenname und seine Firma
mitbekommen, aber jetzt muss in der Tabelle adressbook das Feld "firma"
nicht gesetzt sein.
Wenn es das doch ist, soll er mir bei der Abfrage die Spalte "kunde" mit dem
Inhalt von adressbook.firma befüllen, wenn "firma" NICHT gesetzt ist, will
ich statt dessen "kunde" als ein CONCAT von adressbook.name und
adressbook.vorname ... Geht denn sowas?
Mein Problem ist, das ich meine Abfrage nach den Kunden sortieren muss,
und wenn ein Auftrag nicht von einer Firma, sondern von einer privat-
Person aufgegeben wurde, muss ich eben z.B. "Mustermann, Max" als
"kunden"-Spalte sehn...
Klappt aber nicht. Sobald adressbook.firma gesetzt ist, ist die Spalte "kunde"
brav = "firma", aber wenn firma nicht gesetzt ist, ist "kunde" leer. :rock:
Verlange ich SQL zuviel ab oder versteh ich es blos nicht !?
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...