以下是一个mysql查询,它从 user_property 和 offer 表中获取具有特定条件的数据。因此,在此查询中,我需要来自用户表的 id 用户(我可以从用户表中识别用户 id 谁有他们的公司名称)。这就是为什么我使用第二个选择查询,但我无法得到结果。
$sql = "SELECT * FROM user_property upr, offers ofr,
WHERE ofr.property_id = upr.property_id
AND ofr.agent_id = (
SELECT id FROM users
WHERE company_name !=''
) ORDER BY accept_ind asc";
答案 0 :(得分:1)
您的子查询可能正在返回多行
您需要在子查询中添加limit
语句
(select id from users where company_name !='' LIMIT 1)
或使用in
而不是=
ofr.agent_id IN (select id from users where company_name !='')
答案 1 :(得分:0)
您需要在,
之后删除offers ofr
并使用IN
条款
select
*
from
user_property upr,
offers ofr
where
ofr.property_id = upr.property_id
and ofr.agent_id IN (select
id
from
users
where
company_name != '')
order by accept_ind asc