dedlfix: MySQL LEFT JOIN

Beitrag lesen

Hi!

Ich habe drei Tabellen und möchte alle Datensätze aus persons ausgeben, zusätzlich die Anzahl an Einträgen in adresses für jede person (kann auch 0 sein) sowie den Namen des Landes aus dem ISO Ländercode aus persons (1:1 Beziehung).

Hast du es schon mit korrelierten Unterabfragen (Subquerys) probiert anstatt mit Joins?

Ich bekomme es einfach nicht hin alle persons zurück zu bekommen.
Vielleicht verstehe ich das mit den joins auch nicht richtig??

Tabellennamen in Joinbedingungen und anderen Klauseln können sich nur auf beteiligte Tabellen beziehen, also solche die in der FROM-Klausel enthalten sind.

SELECT persons.*, countries.name AS country_name, COUNT(adress.adress_id) AS person_adresses

FROM persons
LEFT OUTER JOIN adress ON (customers.person_id = adress.person_id)
LEFT OUTER JOIN countries ON (customers.country = countries.ISO)
GROUP BY projects.person_id
ORDER BY persons.person_id DESC

  
customers und projects kommt nicht als eine der eingebundenen Tabelle vor. Das müsste eine Fehlermeldung ergeben.  
  
  
Wenn du sinnvolle Hilfe haben möchtest, solltest du auch ein sinnvolles und kein fehlerhaft zusammengekürztes Beispiel bringen.  
  
  
Lo!