2013-12-12 40 views
0

在我的應用程序中,我想使用動態表名。如何使用sql結果中的值作爲其子查詢的表名?

在我的應用程序中,我有兩個查詢。

1) SELECT `table_name` FROM `data_tables` WHERE `table_id`="1" 

從這個查詢我得到一個表名,我將它保存在一個變量;對於e.g:$標籤

我有另一個查詢:

2) SELECT * FROM `'.$tab.'`; 

我想知道的是反正有俱樂部這些查詢?這是一個好習慣嗎?

我的應用程序目前工作正常,但我想了解一些見解。

+0

您可以使用['PREPARE'](http://dev.mysql.com/doc/refman/5.1/en/prepare.html)和['CONCAT()'] (http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat)。但是這是與eval()相當的MySQL,所以不,我不稱之爲好的做法 – DaveRandom

回答

0
DECLARE @Name varchar(max) 
SELECT @Name =`table_name` FROM `data_tables` WHERE `table_id`="1" 
SELECT * FROM `@Name` 
相關問題