【发布时间】:2015-11-05 14:33:06
【问题描述】:
这个查询已经有效。
CREATE TABLE source.road_nodes (
node_id serial,
node TEXT
);
-- SAVE UNIQUE NODES AND ASIGN ID
INSERT INTO source.road_nodes (node)
SELECT DISTINCT node
FROM
(
(SELECT DISTINCT node_begin AS node
FROM map.rto)
UNION
(SELECT DISTINCT node_end AS node
FROM map.rto)
) as node_pool;
我想知道是否有一种方法可以使用
CREATE TABLE source.road_nodes AS SELECT ( ... )
不必创建表然后执行插入。
问题是如何创建序列列。
【问题讨论】:
-
不,这是不可能的。顺便说一句:所有这些
distinct运算符都是无用的。UNION已经确保您只获得不同的值。select node_begin from map.rto union select node_end from map.rto是insert´ statement (and you don't need the parentheses around the select statement forcreate table as`所需的全部) -
谢谢,我放括号只是为了显示串行字段的位置。但你是对的
DISTINCT忘记了:$