Аз вмъкна друга колона в списъка списък на моя модул вмъкване на стойности с getList функция, аз промених sql да се филтрира в функцията renderList, но не мога да "" използва псевдоним в където клауза.
Как мога да го поправя?
Грешката, която получих, е следната:
Uncaught Unknown column "product_supplier_name" in "where clause"<br /><br />
SELECT SQL_CALC_FOUND_ROWS a. *, S.име AS product_supplier_name FROM ps_supplier_bill a LEFT JOIN ps_supplier ON Включено s.id_supplier = a.id_product_supplier WHERE 1 И product_supplier_name LIKE "% fa%" ORDER
Отговори:
0 за отговор № 1Подходящата заявка трябва да бъде следната:
SELECT SQL_CALC_FOUND_ROWS a.* , s.`name` AS product_supplier_name FROM `ps_supplier_bill` a LEFT JOIN `ps_supplier` s ON s.`id_supplier` = a.`id_product_supplier` WHERE 1 AND s.`name` LIKE "%fa%" ORDER BY s.`name` asc LIMIT 0,50
Не е възможно директно да се използва псевдоним в WHERE, защото хронологично WHERE се случва преди SELECT, което винаги е последната стъпка в веригата за изпълнение. СЕ ОТНАСЯТ
От документа на MySQL:
Стандартният SQL забранява препратки към псевдоними на колони в клауза WHERE. Това ограничение се налага, защото когато клаузата WHERE е оценена, стойността на колоната може да не е определена.