postgrehow在SQL查询中根据列检查数据


tbody> <<tr>22222
financialscheduletype financialscheduletypevalue
205/06/2022
05/04/2022
05/07/2022
05/17/2022
0预计
05/13/2022
03/05/2011

可以在where子句中使用case

查询——

select * from finance
where finacialscheduletype = 
case when (select count(*) from finance where finacialscheduletype = 2) > 0 then 2 else 0 end;

DB-fiddle这里。

你追求的东西不清楚,你也不解释。你可以这样描述:

select * from finance
where financialscheduletype=2 or  financialscheduletype=0;

等于:

select * from finance
where financialscheduletype in (2, 0);

或者你可以这样描述:

select * from finance
where financialscheduletype = case 
when exists (
select * from myTable 
where financialscheduletype = 2) then 2 else 0 end;

最新更新