이 쿼리는 where 절에있는 알 수없는 열 회사를 제공합니다. 나는 where 절이 먼저 실행되고 select가 다음에 실행된다는 것을 발견했다. 여기에 오류가있을 수 있습니다. 하지만 결과 세트에서 회사를 얻으려면이 문제를 해결하는 방법을 모릅니다.MySQL excutes where 절 이후
SELECT trnsdriverid,
name,
(SELECT transcompany.name
FROM transcompany,
transcompdriver
WHERE transcompany.trnscompid = transcompdriver.trnscompid) AS 'company',
address,
dob,
license,
telephone
FROM transcompdriver
WHERE ? LIKE 'All'
OR name LIKE '%"+keyword+"%'
OR company LIKE '%"+keyword+"%'
OR trnsdriverid LIKE '%"+keyword+"%'
당신의 결과를 앨리어싱되기 때문이다 그 "회사"로 중첩 된 선택 - 해당 열은 실제로 존재하지 않습니다. where 문에서 별칭을 참조 할 수 없습니다. JOIN을 사용하려면이 쿼리를 다시 작성한 다음 실제 'TransCompany.name' 열에서 필터링을 수행해야합니다. –
회사 열에 다른 열과 같은 행 금액이 없습니다 –
@Cory Thnx 답장을 보내주십시오. 나는 조인을 시도 할 것이다. – amal