Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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
Sql 日期计算,分区/行函数的可能使用_Sql_If Statement_Case_Teradata - Fatal编程技术网

Sql 日期计算,分区/行函数的可能使用

Sql 日期计算,分区/行函数的可能使用,sql,if-statement,case,teradata,Sql,If Statement,Case,Teradata,我有一个包含发票级别数据的表,我有一个业务请求,用于创建一个包含将奖励给销售代表的新业务美元的表 逻辑如下: 如果在过去6个月内没有向该客户进行销售,或者如果该客户是表中不存在的新客户,则将销售计入“新业务”。 在首次符合“新业务”销售资格后,新业务信贷将持续3个月。 为了简单起见,表结构 Customer # - Invoice # - Invoice Dt - Total $$ 听起来很简单,但在sql中构建它时遇到了一些问题。有什么想法吗?一步一步来 以前的客户超过3个月但不足6个月

我有一个包含发票级别数据的表,我有一个业务请求,用于创建一个包含将奖励给销售代表的新业务美元的表

逻辑如下:

如果在过去6个月内没有向该客户进行销售,或者如果该客户是表中不存在的新客户,则将销售计入“新业务”。 在首次符合“新业务”销售资格后,新业务信贷将持续3个月。 为了简单起见,表结构

 Customer # - Invoice # - Invoice Dt - Total $$

听起来很简单,但在sql中构建它时遇到了一些问题。有什么想法吗?

一步一步来

以前的客户超过3个月但不足6个月

 SELECT CustomerNo
 FROM TABLE_NAME_YOU_DID_NOT_TELL_US
 WHERE InvoiceDt > CURRENT_DATE - 6 MONTHS -- newer than 6 months
   AND InvoiceDt < CURRENT_DATE - 3 MONTHS -- older than 3 months
现在把过去三个月里所有不包括这些的东西都拿出来

 CREATE VIEW NEW_CUSTOMERS AS 

 SELECT *
 FROM TABLE_NAME_YOU_DID_NOT_TELL_US
 WHERE InvoiceDt > CURRENT_DATE - 3 MONTHS -- newer than 3 months
  AND CustomerNo NOT IN (
   SELECT CustomerNo
   FROM TABLE_NAME_YOU_DID_NOT_TELL_US
   WHERE InvoiceDt > CURRENT_DATE - 6 MONTHS -- newer than 6 months
     AND InvoiceDt < CURRENT_DATE - 3 MONTHS -- older than 3 months
 )

您也可以通过连接来实现这一点。

我在sql中构建它时遇到了一些问题,这意味着您尝试了任何东西。请出示你尝试过的证据。除了得到更相关的答案外,它还表明你已经付出了努力。您还应该显示表结构、示例输入数据和所需的输出数据。请不要期望人们猜测。样本数据最好用+。请将您的问题包括在内,包括您当前的尝试和期望的结果。创建表在这里并不意味着什么。您是指视图吗?请编辑您的问题并显示您想要的结果。这是相当不清楚的。