我已在自定义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
。
如何从列中的值中选择表?
答案 0 :(得分:2)
你不能在我熟悉的任何RDMS中做你想做的事情。既不能通过变量或子查询设置列,也不能设置表名。您有两种方法可以解决这个问题:
在应用程序逻辑中使用两个步骤。一个获取表名,第二个构建查询并执行它。
使用一些连接技巧。如果没有可用的模式,很难为你构建一个查询,但是我在下面的内容应该是等效的。
select
title_table.*
from
title_table
join index_table
on title_table.id = index_table.id
where
index_table.rowid = 1