如何在teradata递归查询中使用?
在下面的表格中如何在teradata递归查询中使用?,teradata,recursive-query,Teradata,Recursive Query,在下面的表格中 customer ID, code, start_date, end_date 124343, DCW, 2015-07-06, 2016-08-03 235432, ABC, 2015-04-26, NULL 235432, ABC, 2015-04-26, 2015-06-20 3242342, ABC, 2015-08-02, 2015-07-28 2332434, DCW, 201
customer ID, code, start_date, end_date
124343, DCW, 2015-07-06, 2016-08-03
235432, ABC, 2015-04-26, NULL
235432, ABC, 2015-04-26, 2015-06-20
3242342, ABC, 2015-08-02, 2015-07-28
2332434, DCW, 2015-02-09, 2015-06-23
2332434, DCW, 2015-06-23, NULL
如何使用递归查询为每个customerID获取唯一代码的输出,1.当客户ID在表中有多条记录的值在end_date且在end_date为null时,则仅记录的end_date为null
2.如果客户ID有多条记录的开始日期、结束日期和开始日期等于第一条记录的结束日期,则只有结束日期为空或未来日期大于今天日期的记录
3.结束日期超过今天的日期
所需输出
customer ID, code, start_date, end_date
124343, DCW, 2015-07-06, 2016-08-03
235432, ABC, 2015-04-26, null
3242342, ABC, 2015-08-02, 2015-07-28
2332434, DCW, 2015-06-23, null
欢迎来到SO!。格式说明-不要在列表中使用
,请使用格式标记(工具栏上的{})。您可能不需要为此递归,请尝试检查是否可以定义一个顺序,按照该顺序对要放在顶部的行进行排序,例如,
限定行数()(按customerID顺序分区,按结束日期DESC NULLS优先)=1
获取错误。应为ORDER BY子句后的RESET(重置)一词。发布您的sql,没有它我们无能为力。连接两个表以获取仅处于状态的客户ID。