我有一个表可以说table_names包含一些表名(table1,table2,table3等)。现在我想通过表table_names来获取table1,table2,table3等中的数据。
我无法完成这项任务。有人可以帮助我摆脱这种情况吗?
我正在使用Oracle DB。
提前谢谢。
答案 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。*(从表中选择名称)