【发布时间】:2015-10-30 21:47:44
【问题描述】:
我的原始表“T1”如下所示:
ID Date Order_ind Var2 Var3
1 1/1/2015 1 ..... .....
1 1/5/2015 1 ..... .....
1 1/5/2015 2 ..... .....
2 1/10/2015 1 ..... .....
2 1/20/2015 1 ..... .....
2 1/20/2015 2 ..... .....
2 1/20/2015 3 ..... .....
我要创建的最终表格是根据某些条件添加一个附加变量“new_var”。您可能会注意到,有些记录具有相同的日期,而这些标准仅适用于第一条记录 (order_ind=1)。其余日期相同的记录,比如order_ind=2,或者3,new_var值应该和order_ind=1记录一样。
ID Date order_ind Var1 Var2 new_var
1 1/1/2015 1 ..... ..... 1
1 1/5/2015 1 ..... ..... 0
1 1/5/2015 2 ..... ..... 0
2 1/10/2015 1 ..... ..... 0
2 1/20/2015 1 ..... ..... 1
2 1/20/2015 2 ..... ..... 1
2 1/20/2015 3 ..... ..... 1
我写的SQL代码是这样的:
SELECT *,
CASE
WHEN order_ind=1 and (criteria1....) THEN '1'
WHEN order_ind=1 and (criteria2....) THEN '0'
WHEN order_ind<>1 .......(please advise how to code this)
END AS new_var
FROM T1
;
知道如何为 order_ind1 的记录编写代码吗?
【问题讨论】:
-
什么是
aqua-data-studio?标签说是 sql 的 ide .. 但是什么数据库? -
为什么不向
T1添加一个自动增量ID,并用它在new_var中引用它——简单得多。 -
你对
new_var的规则不清楚,有些订单1和2也是0 -
向您的
else添加另一个案例? -
我的问题不是答案,您仍然有两个
order=1的值,您将使用哪一个作为order=2?你应该阅读Need an Answer? Actually, No ... You Need a Question
标签: sql netezza aqua-data-studio