mam tej kwerendy:otrzymuję błąd przy użyciu łączy w zapytaniu
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
otrzymuję ten błąd:
#1241 - Operand should contain 1 column(s)
jestem wiązana uzyskać wszystkich pracowników, które mają co najmniej jedną aktywność wpisz "Design" i Brak działania typu "Testowanie".
Mam zapytanie, które działa, ale chciałbym, aby działało z łączeniami.
to działa:
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
Co zrobiłem źle na sql z łączy?
Nie można wykonać "SELECT *" w podzapytaniu w ten sposób; część 'c.code NOT IN' szuka pojedynczego cloumna do zwrócenia. – LittleBobbyTables
Dziękuję. Dziękuję wam wszystkim. :) –
Wygląda na to, że zostało to rozwiązane, ale jeśli nadal rozważasz aktualizację pytania za pomocą sqlfiddle. – Strawberry