基于CASE语句执行SELECT

问题描述 投票:0回答:1

我正在尝试根据情况执行选择语句

SELECT CASE WHEN TO_CHAR(today, "%a") = 'Mon' 
THEN (SELECT COUNT(*) FROM  jobs WHERE datein > today-2) 
ELSE (SELECT COUNT(*) FROM  jobs WHERE datein = today) 
END CASE;

结果,我希望如果一天是'Mon'(星期一),然后执行Select from(星期一-2天),并且使所有列/行不只是1 COUNT,否则将执行当天的选择。

如果是星期天,结果应该是

id | jobs | date
1  |12,500| 12-7-2019
2  |10,800| 12-8-2019

如果与星期一不同的日子应该相同,但对于今天的数据来说>]

id | jobs | date
3  |35,000| 12-9-2019

如果不可能,是否还有其他方法?(考虑到我有限的访问权限)

数据库服务器:INFORMIX 12.1我只能使用Toad for Data Analysts或IBM Data Studio读取数据库。

我正在尝试根据情况选择条件,当TO_CHAR(今天,“%a”)='星期一'时执行选择语句。 (*)FROM ...

informix toad ibm-data-studio
1个回答
1
投票

没有模式和数据样本很难确切知道您想要什么,但是如果我们假设您希望根据日期从表作业中获取所有行,则可以执行此查询

© www.soinside.com 2019 - 2024. All rights reserved.