mit:einen Fehler bekommen, wenn Joins Ich habe diese Abfrage in Abfrage
SELECT * FROM `employee_activities` a
LEFT JOIN `activity` b ON a.activity_code = b.code
LEFT JOIN `employees` c ON a.employee_code = c.code
WHERE b.type = "Design"
AND c.code NOT IN(
SELECT * FROM `employee_activities` a
LEFT JOIN `activity` b ON a.activity_code = b.code
LEFT JOIN `employees` c ON a.employee_code = c.code
WHERE b.type = "Testing"
)
GROUP BY c.code
ich diesen Fehler:
#1241 - Operand should contain 1 column(s)
ich binden alle Mitarbeiter zu erhalten, die mindestens eine Aktivität haben, Geben Sie "Design" und keine Aktivität vom Typ "Testing" ein.
Ich habe eine Abfrage, die funktioniert, aber ich möchte, dass es mit Joins funktioniert.
Dies funktioniert:
SELECT c.name FROM `employee_activities` a, `activity` b, `employees` c
WHERE a.activity_code = b.code
AND a.employee_code = c.code
AND b.type = "Design"
AND c.code NOT IN(
SELECT c.code FROM `employee_activities` a, `activity` b, `employees` c
WHERE a.activity_code = b.code
AND a.employee_code = c.code
AND b.type = "Testing"
)
GROUP BY c.code
Was habe ich auf dem SQL falsch machen mit beitritt?
Sie können 'SELECT *' in der Unterabfrage nicht so tun; Der Abschnitt "c.code NOT IN" sucht nach einer einzelnen zurückzugebenden Komponente. – LittleBobbyTables
Danke. Danke euch allen. :) –
Es klingt wie dies gelöst ist, aber wenn Sie immer noch in Betracht ziehen, Ihre Frage mit einem SQLFiddle zu aktualisieren. – Strawberry