2014-10-05 111 views
1

我想知道是否有辦法將查詢保存爲變量並稍後使用,而不是處理內聯子查詢。有沒有辦法在SQLite3中做到這一點?如何在sqlite3中將查詢定義爲變量?

我的一個示例查詢是:

select Name 
from (
    select Name, Count(*) c 
    from branch 
    group by Name 
) f 
where f.c = 1; 

我想定義的子查詢˚F作爲一個變量,然後以這種方式使用它,如果可能的話:

select Name 
from f 
where f.c = 1; 

回答

1

你可以在內存中創建臨時表並存儲子查詢的結果,並可稍後使用它

CREATE TEMP TABLE f(Name TEXT , NameCount INTEGER); 

    INSERT into f 
    select Name, Count(*) c 
    from branch 
    group by Name; 

    DROP TABLE if exists f; -- to clean up the temp table 
+0

謝謝!它在插入語句結尾處使用分號除外。我做了一個編輯來清除它。 :) – currysensei 2014-10-05 19:32:41