2017-07-07 54 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