2014-02-10 54 views
0

我有一個表讓我們說table_names其中包含一些表名(table1,table2,table3等)。現在我想通過table table_names從table1,table2,table3等中獲取數據。從名稱存儲在表中的表中獲取數據?

我無法完成此任務。任何人都可以幫我擺脫這種情況嗎?

我正在使用Oracle DB。

預先感謝您。

回答

0

如果從表A,你必須從表中獲取的值,然後用這個,

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]; 
    } 
} 
+0

我沒有獲取前端交互性。我想獲取它們並應用一些(where)條件並返回爲表(視圖)。就像正常的sql查詢返回一樣。 – user2951828

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; 
0

選擇t1。 ,t2。,t3。* from table1 t1,table2 t2,table3 t3其中(從表格中選擇姓名)

相關問題