我有以下查询:
SELECT
(...),
(SELECT us.short FROM url_short us WHERE us.urlId = u.id
ORDER BY us.id DESC LIMIT 1) as short,
(...),
(SELECT f.name FROM `group` f LEFT JOIN group_url fu ON f.id = fu.group_id WHERE
fu.url_id = u.id ORDER BY f.id DESC LIMIT 1) as f_name
FROM (...)
WHERE (...) AND
(u.url LIKE '%ops%'
OR short LIKE '%ops%'
OR u.url_name LIKE '%ops%'
OR f_name LIKE '%ops%')
(...)
但是,当我尝试在short
和f_group
中使用LIKE时,MySQL会告诉我:
#1054 - Unknown column 'short' in 'where clause'
我已经搜索了很多但没有找到任何内容
答案 0 :(得分:2)
你的where子句没有看到short
别名,因为它只是通过过滤结果集后发生的引入(由最外面的{{实现) 1}}子句)。
试
WHERE
答案 1 :(得分:1)
您在查询中使用别名,这可能会导致此错误。 Here's另一个有类似问题的问题。