Этот запрос дает сообщение об ошибке неизвестной колонке компании в разделе where. Я обнаружил, что предложение where запускается первым, а потом запускается следующее. Это может быть ошибка здесь. Но я не знаю, как исправить это, чтобы получить компанию в наборе результатов.MySQL excutes select after where 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+"%'
Это потому, что вы альясинг результата вложенный выбор как «компания» - этот столбец фактически не существует. Вы не можете ссылаться на псевдонимы столбцов, где содержатся утверждения. Вы должны переписать этот запрос для использования JOIN, а затем выполнить фильтрацию в фактическом столбце 'TransCompany.name'. –
столбец компании не имеет того же количества строк, что и другие столбцы –
@Cory Thnx для вашего ответа. Я попробую присоединиться. – amal