gpt4 book ai didi

mysql - 如何在UNION查询中的两个表中使用where条件?

转载 作者:行者123 更新时间:2023-11-29 15:42:32 24 4
gpt4 key购买 nike

我有两个表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';

现在我必须对表 1 where Leadstatus IN(1,2,3) 和表 2 where Leadstatus IN(1,2,3,4, 7)在同一列表中显示记录。

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

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

最佳答案

假设您的 tbl_lead 和 tbl_leadupload 具有相同的列(数字和相应的数据类型)你应该在适当的表中添加每个位置

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

如果不是,您应该使用显式列,例如:

    $query1='select col1, col2, col3
, (CASE WHEN is_status =0 THEN "No" ELSE "Yes" END) as status
from tbl_lead
WHERE leadstatus IN (1,2,3)
UNION
select col1, col2, null
,(CASE WHEN is_status =0 THEN "No" ELSE "Yes" END)
from tbl_leadUpload
where leadstatus IN (1,2,3,4,7) ;';'

关于mysql - 如何在UNION查询中的两个表中使用where条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57452740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com