SELECT
offerid as id,
sets.value AS myvalue
FROM attributes
LEFT JOIN sets ON sets.attribid =attributes.attribid
WHERE `myvalue`='102'
GROUP BY offerid LIMIT 0,12
Выдает ошибку: #1054 - Unknown column 'myvalue' in 'on clause'
Но если в WHERE его не писать то поле выводится и переименовывается в 'myvalue'.
Крайне нужно чтобы поле подключенное через LEFT JOIN и переименованное с помощью AS срабатывало на условии WHERE
Как это оcуществить, подскажите пожалуйста
Спустя 4 минуты, 5 секунд (3.07.2011 - 16:14) waldicom написал(а):
Это точный запрос? Потому что там в строке
стоит одна лишняя обратная кавычка
LEFT JOIN sets ON sets.attribid =attributes.attribid`
стоит одна лишняя обратная кавычка
Спустя 5 минут, 35 секунд (3.07.2011 - 16:20) I-Trap написал(а):
нет, не точный подправил просто но смысл тот же, у меня на самом деле запрос гораздо больше и от if зависит как я обзову поле в выдаче, потом мне по этому полю отсеять нужно а он не воспринимает его.
Запрос я упростил чтобы не грузить людей
Запрос я упростил чтобы не грузить людей
Спустя 16 минут, 45 секунд (3.07.2011 - 16:37) waldicom написал(а):
В WHERE нельзя использовать алиасы (как говорится, век живи - век учись).
Вот что говорит документация:
Вот что говорит документация:
Цитата |
It is not permissible to refer to a column alias in a WHERE clause, because the column value might not yet be determined when the WHERE clause is executed. See Section C.5.5.4, “Problems with Column Aliases”. |
Спустя 22 минуты, 46 секунд (3.07.2011 - 16:59) ИНСИ написал(а):
I-Trap попробуй в таком варианте:
SELECT `a`.*, `s`.*
FROM `attributes` AS `a`
LEFT JOIN `sets` AS `s`
ON `s`.`attribid` = `a`.`attribid`
WHERE `s`.`value` = 102
GROUP BY `a`.`offerid`
LIMIT 0,12
Спустя 18 минут, 6 секунд (3.07.2011 - 17:18) waldicom написал(а):
только уж тогда не
Цитата (velbox @ 3.07.2011 - 14:59) |
WHERE `s.value` = '102' |
а
Цитата (velbox @ 3.07.2011 - 14:59) |
WHERE `s`.`value` = '102' |
Спустя 38 минут, 2 секунды (3.07.2011 - 17:56) ИНСИ написал(а):
Цитата |
только уж тогда не |
Упс

_____________