sql - 使用给定的列和数据创建一个临时表

标签 sql postgresql netezza temp

我需要在 Netezza 中使用下表中的数据创建一个临时表。我在 Netezza 中创建临时表的典型方法是通过

CREATE TEMP TABLE temp_table1 AS
(
 -- statement to fill the data
) DISTRIBUTE ON RANDOM;

如何构建要在内部使用的语句,以便临时表中提供以下数据?

+---------+----------+
| bin_val |  bin_cnt |
+---------+----------+
|       0 |        2 |
|       4 |       10 |
|       8 |       15 |
|      12 |       12 |
|      16 |        6 |
|      20 |        1 |
+---------+----------+

PostgreSQL 解决方案也会有帮助。

最佳答案

这是你想要的吗?

select v.*
from (values (0, 2), (4, 10), (8, 15), (12, 12), (16, 6), (20, 1)
     ) v(bin_val, bin_cnt)

Here是一个 SQL fiddle 。

这在 Netezza 中可能不起作用,因为它使用了非常旧的 Postgres 版本。相反,我认为你可以这样做:

select 0 as bin_val, 2 as bin_cnt union all
select 4, 10 union all
select 8, 15 union all
select 12, 12 union all
select 16, 6 union all
select 20, 1

关于sql - 使用给定的列和数据创建一个临时表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48533814/

相关文章:

mysql - 带有 Group by 的 MAX() 函数非常慢

ruby-on-rails - Rails - 查询时移

php - 如何为 Laravel 5 设置数据库? (连接拒绝错误)

string - 如何在 Netezza 中替换完整子字符串

Netezza SQL查找客户端IP

MySQL COUNT 和 GROUP BY 子查询

mysql - SQL JOIN 查询未返回预期结果

postgresql - 如何在 PostgreSQL 中使用 LIKE 语句在 WHERE 中使用 CAST 值?

c# - await ExecuteNonQueryAsync() 仍然阻塞我的 UI

mysql - 如何在同一个表的新列中连接主键(id)和日期?(MySQL)