나는 3 (3) 테이블이 있습니다MYSQL 왼쪽 작동하지 조인
나는 차량이 userCarMapping
테이블에서 사용자에 매핑되는 경우 userInfo
테이블에서 vehicle
테이블과 firstname
및 last name
에서 모든 차량을 싶어.
SELECT `vehicle`.`vehicleId`, `vehicle`.`modelId`, `vehicle`.`RegNo`, `userInfo`.`firstName`, `userInfo`.`lastName`
FROM `vehicle`
LEFT JOIN `userCarMapping` ON `vehicle`.`vehicleId` = `userCarMapping`.`vehicleId`
LEFT JOIN `userInfo` ON `userCarMapping`.`userId` = `userInfo`.`userId`
WHERE `vendorUserId` = '1' AND `vehicle`.`status` = 'approved' AND `userInfo`.`status` = 'approved'`
을하고 난 vehicle
테이블에서 모든 차량을 원하는대로이 출력을 얻고있다. 당신이 다음은 당신이 userinfo
조건이 아닌 곳의 조인 사용하는 경우 condition.But을 만족하는 행을 반환 where
에서 userinfo
테이블 조건을 사용하는 경우
[MySQL] (https://dev.mysql.com/doc/refman/5.7/en/) 및 [SQL Server] (https://docs.microsoft.com/en-us/sql/t) -sql/language-reference)은 다른 회사에서 제작 한 다른 소프트웨어 패키지입니다. 둘 다 SQL을 구현하더라도 다양한 방식으로 확장하고 때로는 쿼리가 서로 호환되지 않는 다른 구문 규칙을 사용합니다. 사용중인 소프트웨어와 일치하는 태그 만 사용하십시오. – axiac
'AND userInfo.status = 'approved '' : 왼쪽 결합을 내부 결합으로 변환합니다. 이 조건을 조인 조건으로 이동하십시오. – HoneyBadger
힌트 :'WHERE'를'AND'로 대체하십시오. –