从查询结果创建表

时间:2013-07-17 01:53:07

标签: sql create-table

我非常感谢有关创建新表的最佳方法的意见,该新表将是现有表的子集(基于查询结果)。

新表基于仅选择包含所选字段(field_name)的前2个字符的6个条件中的任何一个(如下所示)的特定记录。所有列都是必需的。

这是我的初始查询草稿。

CREATE TABLE table_name_update
AS (SELECT *
     FROM table_name
     WHERE field_name LIKE ‘A7%
     OR A8%
     OR D0%
     OR D1%
     OR D3%
     OR E0%

专家的任何意见或建议?非常感谢。

1 个答案:

答案 0 :(得分:1)

这稍微取决于您使用的是哪个RDBMS,但有一个选项是SELECT INTO

SELECT * INTO table_name_update
FROM table_name 
WHERE field_name LIKE 'A7%' OR
    field_name LIKE 'A8%' OR 
    field_name LIKE 'D0%' OR 
    field_name LIKE 'D1%' OR 
    field_name LIKE 'D3%' OR 
    field_name LIKE 'E0%'

如果使用Oracle,请使用CREATE TABLE AS

CREATE TABLE table_name_update AS
SELECT * INTO table_name_update
FROM table_name 
WHERE field_name LIKE 'A7%' OR
    field_name LIKE 'A8%' OR 
    field_name LIKE 'D0%' OR 
    field_name LIKE 'D1%' OR 
    field_name LIKE 'D3%' OR 
    field_name LIKE 'E0%'

请注意,我还更新了您使用单引号和多个LIKE语句的逻辑。