我有一个MySQL查询这是这样的:MySQL的子查询的WHERE子句
select
*,
(select meta_value
from nord_usermeta m
where meta_key = 'firm' and user_id = s.user_id
limit 1)
as firm,
(select meta_value f
rom nord_usermeta m
where meta_key = 'first_name' and user_id = s.user_id
limit 1)
as first_name,
(select meta_value
from nord_usermeta m
where meta_key = 'last_name' and user_id = s.user_id
limit 1)
as last_name
from nord_submissions s
order by created_at desc
现在我需要将它缩小与where子句是这样的:
select
*,
(select meta_value
from nord_usermeta m
where meta_key = 'firm' and user_id = s.user_id
limit 1)
as firm,
(select meta_value
from nord_usermeta m
where meta_key = 'first_name' and user_id = s.user_id
limit 1)
as first_name,
(select meta_value
from nord_usermeta m
where meta_key = 'last_name' and user_id = s.user_id
limit 1)
as last_name
from nord_submissions s
where firm like '%DG%'
order by created_at desc
的问题显然是在我使用子查询的方式,但我无法找到一种方法在where子句中引用它。
请帮忙。
“问题”..什么问题?你可以请扩展你的问题与错误消息/示例数据库模式/示例数据等 - 可能甚至是一个小提琴http://sqlfiddle.com/about.html – Steve 2013-03-15 10:06:35
**企业**是一个用户定义的列..我们可以称之为虚构的列太..和WHERE只适用于数据库列。你应该用'HAVING'来代替'WHERE' – diEcho 2013-03-15 10:23:53