Vinzenz Mai: Cross join?

Beitrag lesen

Hallo Marc,

dank euch für euer echo. also ich habs jetzt mal so gelöst und scheint zu funktionieren:

$pers_query = mysql_query("select dispo_personal.* ,dispo_auftrag.* FROM dispo_personal
LEFT JOIN dispo_auftrag ON dispo_personal.auftrags_id = dispo_auftrag.id");

Erstens ist es immer eine gute Idee, das SQL-Statement in einer eigenen String-Variablen vorzubereiten, zu Debugzwecken kann man es prima mit einer echo-Anweisung ausgeben.

Weiterhin solltest Du nur die Spalten auswählen, die Du auch wirklich benötigst, und nicht überflüssige Spalten (bequem) mit * auswählen. Du hast auch bessere Kontrolle über die Spalten. Es ist ein einziges Mal, beim Erstellen mehr Aufwand, der sich aber lohnt.

einwände?

Ich möchte nur noch einmal auf den Einwurf von MrWurf zurückkommen:
Stimmt folgende Aussage: "Jedem Auftrag ist genau ein Mitarbeiter zugeordnet."

Ansonsten noch ein allgemeiner Hinweis: Deine Aufgabe könntest Du elegant mit einer Kreuztabellenabfrage, die etwas ganz anderes ist als ein CROSS JOIN, erledigen können. Jedoch ist das MS Access bzw. die Jet-Engine das einzige mir bekannte Datenbankmanagementsystem, das sowas unterstützt. Was ein CROSS JOIN ist, kannst Du im geplanten Feature-Artikel von Rouven nachlesen, siehe dazu Tims Link in https://forum.selfhtml.org/?t=119395&m=766062.

Freundliche Grüße

Vinzenz