Ich mag einen Manager und eine Liste der Mitarbeiter erhalten, die in der gleichen Abfrage für diesen Manager arbeitet, wie zum Beispiel:Syntaxfehler auf same-Join-Tabelle in MySQL
record 1: manager.name, manager.title
record 2: employee.name, employee.title
record 3: employee.name, employee.title
record 4: employee.name, employee.title
Die Informationen alle in der gespeichert werden gleiche Tabelle. Ich habe versucht, die folgende Abfrage, aber es gibt mir einen Syntaxfehler „1064“:
SELECT employees.id, employees.name, employees.title, employees.managerId, managers.id, managers.title, managers.name
FROM employees
FULL OUTER JOIN employees AS managers ON employees.id = managers.managerId
WHERE employees.id = '1'
Jetzt weiß ich, das wird funktionieren, wenn ich left join
verwenden, aber das bedeutet nicht effizient zu sein scheint. Der Name des Managers wird für jede einzelne Mitarbeiterzeile aufgelistet. Ich möchte, dass es null ist. Ich kenne den Namen des Managers bereits, weil es der erste Datensatz war, nach dem ich gefragt habe.
Irgendwelche Ideen, wo ich falsch liege?
Das bedeutet jedoch nicht unbedingt, dass die Managerzeile an erster Stelle steht. Wenn die Manager-ID für Manager null oder NULL ist, funktioniert das Anhängen von ORDER BY managerId ASC möglicherweise. – Thilo