首页 > 解决方案 > 如何在 UNION 查询中的两个表中使用 where 条件?

问题描述

我有两张桌子table1table2. 在这两个表中,列几乎相同。我正在做的是我必须显示两个表中的记录。

就像我在列表页面上,我必须显示记录。另外,我必须使用 where 条件。

我试过下面的查询

$query1='select *,(CASE WHEN is_status =0 THEN "No" ELSE "Yes" END) as status from tbl_lead as l1 UNION select *,(CASE WHEN is_status =0 THEN "No" ELSE "Yes" END) as status from tbl_leadUpload as l2';

现在我必须使用表 1where leadstatus IN(1,2,3)和表 2 的 where 条件where leadstatus IN(1,2,3,4,7)来显示同一列表中的记录。

如何对两个表使用 where 条件?

你能帮我解决这个问题吗?

标签: mysqlunion

解决方案


您有不同的条件,因此您必须使用WHERE两次:

select *,(CASE WHEN is_status =0 THEN "No" ELSE "Yes" END) as status 
from tbl_lead as l1 
where leadstatus IN(1,2,3)
UNION 
select *,(CASE WHEN is_status =0 THEN "No" ELSE "Yes" END) as status 
from tbl_leadUpload as l2
where leadstatus IN(1,2,3,4,7)

推荐阅读