从名称存储在表中的表中获取数据?

时间:2014-02-10 07:54:33

标签: sql oracle mysqli oracle11g oracle-sqldeveloper

我有一个表可以说table_names包含一些表名(table1,table2,table3等)。现在我想通过表table_names来获取table1,table2,table3等中的数据。

我无法完成这项任务。有人可以帮助我摆脱这种情况吗?

我正在使用Oracle DB。

提前谢谢。

3 个答案:

答案 0 :(得分:0)

如果来自TableA,你必须从单个表中获取价值,然后使用它,

SELECT * FROM (SELECT table_name FROM tableA WHERE id=3)AS b

除了从多个表中获取,我更喜欢下面的PHP -

while($a=mysql_fetch_assoc(mysql_query((SELECT table_name FROM tableA)))
{ $tablename=$a[table_name];
while($b=mysql_fetch_assoc(mysql_query((SELECT * FROM $tablename))))
  {
    echo $b[column_name];
  }
}

答案 1 :(得分:0)

尝试此查询:

DECLARE
 str VARCHAR2(30);
 num number(5);
BEGIN
SELECT count(*) into num FROM table_names;
FOR i in 1..num loop
SELECT name into str FROM 
(SELECT ROWNUM r,t.name FROM table_names t) where r = i;
EXECUTE IMMEDIATE 'SELECT * FROM '||str;
str:='';
end loop;
END;

答案 2 :(得分:0)

从table1 t1,table2 t2,table3 t3中选择t1。,t2。,t3。*(从表中选择名称)