Hallo,
Ich hab eine Frage zu SQL-Joins.
Ich hab 3 Tabellen aus denen ich Daten abfragen moechte. Hier mal die vereinfachte Struktur:
t_customer
customer_id, customer_name
t_contact
contact_customer(=customer_id in t_customer), contact_email
t_license
license_customer(=customer_id in t_customer), license_active(true/false)
Es kann mehrere Kontakte zu einem Customer geben und es kann mehrere Lizenzen zu einem Customer geben.
Die Abfrage soll mir jetzt einfach eine Liste aller Kontakte und deren Firmennamen (customer_name) fuer die es Lizenzen mit license_active=true gibt.
Mit meinem, beschraenkten SQL-Wissen haette ich die Abfrage so geschrieben:
Diese Abfrage gibt mehr aber die Kontakte mehrfach zurueck, wenn sie mehrere Lizenzen haben auf die das Attribut license_active=true zutrifft.
Also muss wohl in irgend einer Form ein JOIN her ... Davon hab ich allerdings so gar keine Ahnung.
Kann da jemand helfen?
Ich hab eine Frage zu SQL-Joins.
Ich hab 3 Tabellen aus denen ich Daten abfragen moechte. Hier mal die vereinfachte Struktur:
t_customer
customer_id, customer_name
t_contact
contact_customer(=customer_id in t_customer), contact_email
t_license
license_customer(=customer_id in t_customer), license_active(true/false)
Es kann mehrere Kontakte zu einem Customer geben und es kann mehrere Lizenzen zu einem Customer geben.
Die Abfrage soll mir jetzt einfach eine Liste aller Kontakte und deren Firmennamen (customer_name) fuer die es Lizenzen mit license_active=true gibt.
Mit meinem, beschraenkten SQL-Wissen haette ich die Abfrage so geschrieben:
Code:
SELECT * FROM t_customer AS c, t_contact AS co, t_license AS l WHERE co.contact_customer=c.customer_id AND l.license_customer=c.customer_id
Diese Abfrage gibt mehr aber die Kontakte mehrfach zurueck, wenn sie mehrere Lizenzen haben auf die das Attribut license_active=true zutrifft.
Also muss wohl in irgend einer Form ein JOIN her ... Davon hab ich allerdings so gar keine Ahnung.
Kann da jemand helfen?