gpt4 book ai didi

sql - 当 select 没有行时获取案例结果字段

转载 作者:行者123 更新时间:2023-11-29 13:28:40 24 4
gpt4 key购买 nike

让我们更好地解释一下:

只有当某些条件为真时,我才需要更新表。

当条件为真时,更新发生,我取回更新的字段和使用返回键更新的行的 ID。

问题是当条件不满足时,所以更新不会发生并且我的结果集是空的......

你可以通过这些脚本来模拟:

create table wn_liberacao (

id serial not null primary key,
data_inicial date,
data_final date,
consulta_limite integer not null,
consulta_utilizada integer not null

);

insert into 
wn_liberacao ( data_inicial, data_final, consulta_limite, consulta_utilizada )
values ( '2015-01-01', '2020-12-31', 10, 0 );

因此,当您运行此查询时:

with liberado as (

update wn_liberacao
set consulta_utilizada = 1 + consulta_utilizada
from ( select id from wn_liberacao where ( data_inicial <= current_date ) and ( data_final >= current_date ) and ( consulta_limite > consulta_utilizada )
-- and 1=2
) liberacao
where liberacao.id = wn_liberacao.id

returning wn_liberacao.id id_liberacao, wn_liberacao.consulta_limite, wn_liberacao.consulta_utilizada

)

select
case liberado.id_liberacao
when null then 'NOT' --0
else 'YES' --1
end liberou, liberado.*
from liberado

此查询运行的第 10 次,我收到 YES....但第 11 次,结果为 null,没有数据行....

我需要第 11 次后,'liberou' 字段的结果为 'NOT',其他字段可以为 null...

我该怎么做???

最佳答案

select true as liberou, liberado.*
from liberado
union all
select false, null, null, null

order by liberou desc
limit 1

false 订单在 true 之前,所以如果有 A 返回行,将返回“true”行,否则将返回 false 行.

关于sql - 当 select 没有行时获取案例结果字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28770754/

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