如何从sqlite中的列值获取表名?

时间:2017-07-07 05:25:43

标签: sqlite

我已在自定义title中名为index_table的列中编制了一系列表格。我想使用index_table中的列值选择特定的表。

我的查询:

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

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

但是这段代码不起作用。它仅返回index_table

中选定的列值

如何从列中的值中选择表?

1 个答案:

答案 0 :(得分:2)

你不能在我熟悉的任何RDMS中做你想做的事情。既不能通过变量或子查询设置列,也不能设置表名。您有两种方法可以解决这个问题:

  1. 在应用程序逻辑中使用两个步骤。一个获取表名,第二个构建查询并执行它。

  2. 使用一些连接技巧。如果没有可用的模式,很难为你构建一个查询,但是我在下面的内容应该是等效的。

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