我正在使用Netezza,需要根据变量的值有条件地创建临时表table1
,例如$var
通常我会在Netezza中创建一个临时表,如下所示。
CREATE TEMP TABLE table1 AS
(
-- statement to fill the data
) DISTRIBUTE ON RANDOM;
假设我有一个像下面的表t1,有一些数据
+---------+
| val |
+---------+
| 0 |
| 4 |
| 8 |
| 12 |
| 16 |
| 20 |
+---------+
根据$var
的值,我想从表中选择val
并将其包含在临时表table1
中。
以下是我在代码中的起点。我需要一些帮助才能应用这个条件。
CREATE TEMP TABLE table1 AS
(
SELECT * FROM
(
-- when `$var` == `all`
SELECT * FROM t1
-- when `$var` == `above_mean`
SELECT * FROM t1
WHERE val > mean(val)
)
) DISTRIBUTE ON RANDOM;
PostgreSQL兼容的Netezza解决方案非常有用。
答案 0 :(得分:1)
我不知道变量 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 ... F1025 F1026 F1027 \
5005 7 7 7 7 7 7 7 7 7 7 ... 7 7 7
5006 7 7 7 7 7 7 7 7 7 7 ... 7 7 7
5010 7 7 7 7 7 7 7 7 7 7 ... 7 7 7
5013 7 7 7 7 7 7 7 7 7 7 ... 7 7 7
5016 6 6 6 6 6 6 6 6 6 6 ... 0 0 0
5017 7 7 7 7 7 7 7 7 7 7 ... 7 7 7
5019 7 7 7 7 7 7 7 7 7 7 ... 7 7 7
5021 5 5 5 5 5 5 5 5 5 5 ... 0 0 0
5102 7 7 7 7 7 7 7 7 7 7 ... 1 1 1
5103 7 7 7 7 6 7 7 7 7 7 ... 7 7 7
5104 7 7 7 7 7 7 7 7 7 7 ... 0 0 0
5302 6 6 6 6 6 6 6 6 6 6 ... 0 0 0
5409 6 6 6 6 6 6 6 6 6 6 ... 2 2 2
5422 0 0 0 0 0 0 0 0 0 0 ... 0 0 0
5601 0 0 0 0 0 0 0 0 0 0 ... 0 0 0
5603 7 7 7 7 7 7 7 7 7 7 ... 7 7 7
的类型是什么,或者它如何在create table语句中表示,但是您应该能够将这两个查询联合起来:
var