@ivanovSP

Как объеденить колонки?

Есть ID и URL
Понял что URL могут дублироваться, по этому решил искать по связке ID + URL.

SELECT *,CONCAT(c.id,'-',c.url) AS concat_url FROM categories c
WHERE c.concat_url ='1-tovar'


Выдает ошибку, не может найти колонку concat_url , подскажите плиз как быть?

site/category/1-tovar
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 2
solotony
@solotony
покоряю пик Балмера
используй HAVING вместо WHERE
Ответ написан
Комментировать
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
WHERE обрабатывается ДО формирования кортежей, соответственно concat_url просто не определен в этот момент.
Вариантов в лоб два:
a) использовать HAVING вместо WHERE
b) в запросе вместо concat_url писать само выражение WHERE CONCAT(c.id,'-',c.url) = ...

Но в любом случае лучше так никогда не делать.
Получившийся запрос не будет использовать никакие индексы.
Правильно - добавить UNIQUE KEY (id, url) и искать WHERE id = ... AND url = ...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы