我在 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%'
);
我第一次做错了什么?正如我所说,这些语句不会导致任何错误,但未显示所需的结果。
提前感谢您花时间帮助我。
干杯,
普拉塔梅什