我在MYSQL中使用用户变量时出现问题。这是我写的代码。这不会产生任何错误,但没有显示出预期的结果。
set @org_id_list := (select c.id from tbl_companyinformations c
left join tbl_users u on c.user_id = u.id
where u.email_address LIKE '%pdatar%'
);
select * from tbl_c2c_offers where
seller_org_id IN (@org_id_list) or buyer_org_id IN (@org_id_list)
但是当我在MySQL中运行它时,它不会返回所需的行。如果我复制用于在第二个select语句的where语句中定义用户变量的select语句,则会显示所需的结果。我的意思是,以下代码产生了所需的结果。
select * from tbl_c2c_offers where
seller_org_id IN (select c.id from tbl_companyinformations c
left join tbl_users u on c.user_id = u.id
where u.email_address LIKE '%pdatar%'
) or
buyer_org_id IN (select c.id from tbl_companyinformations c
left join tbl_users u on c.user_id = u.id
where u.email_address LIKE '%pdatar%'
);
第一次我做错了什么?正如我所说,这些陈述不会导致任何错误,但不会显示所需的结果。
提前感谢您抽出时间帮助我。
干杯,
Prathamesh