View
如何使用 INSERT INTO 在 SQLite 中創建視圖?
我正在嘗試創建將匯總兩個表中的數據的視圖。每個表都有幾列,但它們都有 NAME 和 AREA 列。我希望這兩列在視圖中相應地統一起來。我嘗試使用以下查詢創建視圖:
CREATE VIEW summary AS INSERT INTO (SELECT Name, SUM(Area) FROM table1 GROUP BY Name) SELECT * FROM (SELECT Name, SUM(Area) FROM table2 GROUP BY Name)
但我得到錯誤:
SQL error: near "INSERT": syntax error
。實際上,我嘗試了涉及 INSERT INTO 的不同查詢,似乎 CREATE VIEW 不適用於 INSERT INTO,並且 INSERT INTO 不接受子查詢 - 只有現有表(甚至臨時表)可以。如何重寫 CREATE VIEW 語句以實現我的目標?
我猜您想使用
UNION
orUNION ALL
,而不是INSERT
:CREATE VIEW summary AS SELECT Name, SUM(Area) AS Area FROM table1 GROUP BY Name UNION ALL SELECT Name, SUM(Area) FROM table2 GROUP BY Name ;
如果
Name
兩個表中的列中都有值,並且您希望將它們匯總在一行中,則可以使用以下命令:CREATE VIEW summary3 AS SELECT Name, SUM(Area) AS Area FROM summary GROUP BY Name ;
在**SQL-Fiddle測試**