join ohne doppelte einträge

knorpel

Neuer Benutzer
Beiträge
2
Hallo,
ich habe 2 Tabellen mit fest vorgegebener Struktur:
Person: vorname, nachname, land
Wertung: name, wert
(name ist hier "Vorname Nachname")

Nun will ich in "Wertung" alle Einträge zählen, für die Wert='3' gilt und die Person aus Deutschland kommt.
Ich dachte ich kann das mit einem JOIN machen:
SELECT COUNT(*) FROM Wertung AS w LEFT JOIN Person AS p ON w.name=(p.vorname+' '+p.nachname) WHERE p.land='Deutschland' AND w.wert='3';

Das liefert mir als Ergebnis aber alle Einträge doppelt.
Kann mir bitte jemand erklären wie es richtig sein muss?

Vielen Dank
 
Werbung:
ok, es scheint, dass es einen unterschied zwischen concat(str1,str2,...) und der verknüpfung mit "+" gibt. mit concat hat es funktioniert
 
Werbung:
Klingt nach MySQL Problem, in MSSQL würde das wie oben funktionieren. Blöd nur das Vorname + Nachname nicht eindeutig sind und als PK eigentlich untauglich. Auch müsste man in dem oben angegebenen Query NULL Werte ausschließen.
 
Zurück
Oben