簡體   English   中英

嵌入式SQL中的UNION子句

[英]UNION clause in embedded SQL

我正在使用ingres 10S SQL,並且試圖在嵌入式SQL C程序中編寫以下SQL語句。 它可以作為獨立的SQL腳本正常運行,但是編譯eSQL程序會收到錯誤

%% Error in file localtask.sc, Line 498: E_EQ0244 Syntax error on 'union'.

INSERT INTO nr301_tab2 (authority_id)
SELECT a.authority_id
FROM nrremdets a, nrstatus_hierarchy z
WHERE a.authority_id = z.authority_id
UNION
SELECT a.authority_id
FROM nrsumsamts a, nrsumsdets b
WHERE a.authority_id = b.authority_id;

(第498行是UNION行)該UNION子句有什么問題?

只需稍微調整一下查詢,它就可以工作。 嘗試這個:

INSERT INTO nr301_tab2 (authority_id)
SELECT authority_id
FROM
    (SELECT a.authority_id
     FROM nrremdets a, nrstatus_hierarchy z
     WHERE a.authority_id = z.authority_id
     UNION
     SELECT a.authority_id
     FROM nrsumsamts a, nrsumsdets b
     WHERE a.authority_id = b.authority_id) Result

想法是合並結果集,這將創建一個新的結果集,將其插入到表中一次。 通過添加括號,我們確保會發生這種情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM