今天做树形菜单权限时遇到一个问题
SELECT CONCAT(path, ',', menuid) as `fPath`, `menuname`, `url`, `icon` FROM `menu` WHERE `fPath` LIKE '0,%' AND `menuid` IN(1,2,3,4,5,6,8,9,11,12) ORDER BY `fPath`, `menuid`;
[Err] 1054 - Unknown column 'fPath' in 'where clause'
是个小问题, 只是平时没注意到, GOOGLE了一下找到如下解释:
The aliases you give are for the output of the query - they are not available within the query itself.
You can either repeat the expression:
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast
FROM users
WHERE CONCAT(firstname, ' ', lastname) = "Bob Michael Jones"
or wrap the query
SELECT * FROM (
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast
FROM users) base
WHERE firstLast = "Bob Michael Jones"
http://stackoverflow.com/questions/5734570/mysql-select-with-concat-condition