Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netezza SQL语句根据星期几返回count或null_Sql_Netezza - Fatal编程技术网

Netezza SQL语句根据星期几返回count或null

Netezza SQL语句根据星期几返回count或null,sql,netezza,Sql,Netezza,我是SQL的初学者。我试图确定是否有一种方法可以编写一条SQL语句,该语句将在一周的某些天返回空值,并在一周的其他天返回计数。我不能使用脚本(我使用的接口只允许我执行一条语句) 逻辑是这样的: if max(as_of_date) is a Saturday or Sunday, then return null Else select count(*) from table where (etc). 我假设,由于_OF_DATE是源表中的一列,因此输出应该只有一行,如果源表中的一行包含具有相

我是SQL的初学者。我试图确定是否有一种方法可以编写一条SQL语句,该语句将在一周的某些天返回空值,并在一周的其他天返回计数。我不能使用脚本(我使用的接口只允许我执行一条语句)

逻辑是这样的:

if max(as_of_date) is a Saturday or Sunday, then return null
Else select count(*) from table where (etc).

我假设,由于_OF_DATE是源表中的一列,因此输出应该只有一行,如果源表中的一行包含具有相关日期的记录,那么它将返回非null。请详细说明问题(希望输入/输出更好)


整个“if-else”构造只在一行中有意义(在sql中称为CASE),但计数只在多行中有意义。请提供输入行和所需输出行的示例集,我们当然可以提供帮助,谢谢。不幸的是,我试图使用SQL来实现调度软件真正应该做的事情。所需的逻辑基本上是这样的:如果date_DIM表中的Max(as_of_date)是星期六或星期日,则返回null,否则返回现有SQL的结果(这是一个数字——一个计数)。这是一个“单个数字”计数表中的行,而不是as_of_date列,或者as_of_date是“当前_date”吗?我有点说错了。实际逻辑是从另一个表中获取计数,该表与日期dim表相连。基本上从表a中选择计数(*),其中表a.as-of-date=date-dim.date和date-dim.last-process-date='Y'
Select 
  case when cnt>0 
  then cnt 
  end 
from
  ( select count(*) cnt 
    from THE_TABLE 
    where EXTRACT(dow FROM AS_OF_DATE) not in (1,7)
  ) x