Sqlite

在 SQLite 3 中 WITH RECURSIVE 之前使用 EXCEPT

  • October 30, 2018

有沒有辦法做到這一點?我正在嘗試做這樣的事情:

SELECT x
FROM table
EXCEPT
WITH RECURSIVE ...();

WITH查詢中的第一個。你可以使用這個:

WITH RECURSIVE ct AS (...)
SELECT x
FROM table
EXCEPT
SELECT y
FROM ct ;

作為記錄,CTE 可以(在標準 SQL 中)在子查詢中,但沒有多少 DBMS 實現了這種語法:

SELECT x
FROM table
EXCEPT
SELECT y
FROM 
 ( WITH RECURSIVE ct AS (...)
   SELECT y
   FROM ct 
 ) AS c ;

或者這個更簡單的:

SELECT x
FROM table
EXCEPT
( WITH RECURSIVE ct AS (...)
 SELECT y
 FROM ct 
) ;

引用自:https://dba.stackexchange.com/questions/161920