2013-07-17 92 views
0

我非常感謝關於創建一個將成爲現有表子集(基於查詢結果)的新表的最佳方式的意見。從查詢結果中創建表

新表基於僅選擇包含選定字段的前兩個字符(field_name)的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% 

有沒有什麼意見或建議從專家?非常感謝。

+2

請解釋你爲什麼要這樣做。 「VIEW」不會更合適(因爲它避免了數據重複)。 – Dai

回答

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語句。