2017-07-07 46 views
0

我已經在一個名爲title的列中編制了一系列表,並在一個自定義的index_table中進行了索引。我想要使​​用index_table的列值選擇一個特定的表格。如何從sqlite中的列值獲取表名?

我的查詢:

SELECT * FROM (SELECT title FROM index_table WHERE rowid = 1); 

此行SELECT title FROM index_table WHERE rowid = 1包含我想SELECT *表的名稱。

但是,這段代碼不起作用。它只返回index_table中的選定列值。

如何從列中的某個值中選擇表格?

回答

2

在我熟悉的任何RDMS中,你不能做你想做的事情。列和表名都不能通過變量或子查詢設置。你有兩種方式來處理這個問題:

  1. 在你的應用邏輯中使用兩個步驟。一個獲取表名,第二個構建查詢並執行它。

  2. 使用一些連接欺騙。如果沒有可用的模式,很難爲您建立查詢,但是像下面這樣的內容應該做相同的事情。

select 
    title_table.* 
from 
    title_table 
    join index_table 
     on title_table.id = index_table.id 
where 
    index_table.rowid = 1