Нельзя использовать псевдоним столбца в where
.Это не имеет никакого отношения к остальной части вашего запроса.
У вас нет GROUP BY
, поэтому я подозреваю, что GROUP_CONCAT()
не предназначен.Вместо этого вы хотите CONCAT()
.Вы можете повторить выражение в WHERE
, но я думаю, что вы должны посмотреть в каждом компоненте:
SELECT d.title, CONCAT(u.firstName, ' ', u.lastName) as fullname
FROM DEALS d left JOIN USER
u
ON u.idUser = d.userId
WHERE (d.title LIKE '%goutham%' OR
d.keywords LIKE '%goutham%' OR
u.firstName LIKE '%goutham%' OR
u.lastName LIKE '%goutham%'
) AND
d.isPublic = 1;
Если вы заботитесь о производительности и ищете слова, то вы можете заглянуть в полный MySQLВозможности текстового индекса.
Если вы все еще хотите посмотреть на комбинацию, я бы рекомендовал повторить выражение:
WHERE (d.title LIKE '%goutham%' OR
d.keywords LIKE '%goutham%' OR
CONCAT(u.firstName, ' ', u.lastName) LIKE '%goutham%'
) AND
d.isPublic = 1;