쿼리를 나타내는 데 약간의 어려움이 있습니다. 나는 SQL 문을 변환 할 문은 다음과 같습니다 지금까지 올 성공은 무엇MySQL : 여러 테이블에서 Join
select count(*)
from assigned, tasks
where
assigned.id_task = 1
or
(assigned.id_project=tasks.id_project and tasks.id=1)
은 다음과 같습니다 그러나
select count(*)
from assigned a
left join projects p
on p.id=a.id_project
left join tasks t
on t.id_project=p.id
where (a.id_task=1 or t.id=1)
, 두 번째는 올바른 결과를 반환하지 않습니다. 내가 뭘 놓치고 있니?
예상되는 결과는 무엇입니까? 두 번째 쿼리 결과는 어떻게 잘못됩니까? 이 프로젝트 테이블의 출처는 어디입니까 (첫 번째 선택 항목이 아님)? 테이블은 어떻게 정의되어 있습니까? –
첫 번째 문은 이미 SQL 문입니다. 어떤 방법으로 "* 변환"하시겠습니까? – eggyal
@eggyal 괜찮습니까? 테이블에서 직접 선택하는 것과 비교하면 조인이 빠릅니까? – Andrew