2017-05-15 91 views
0

我希望查詢根據另一個表中特定行中的值動態選擇查找哪個表。動態選擇哪個表

我有這個疑問:

SELECT d.name 

FROM `database1`.domains AS d 
WHERE (SELECT COUNT(u.id) FROM <<d.db_name>>.users u) > 0 

我想用數據庫名d.db_name的價值。 例如:d.db_name = DATABASE2

我想:如果你要根據結果來改變變量值

SET @table_name = "some_table"; 

SELECT * FROM @table_name; 

SELECT d.name 

FROM `database1`.domains AS d 
WHERE (SELECT COUNT(u.id) FROM `database2`.users u) > 0 
+0

這聽起來像一個非常糟糕的數據架構。 –

+0

此查詢僅供我使用,用於統計。 –

+0

看一看[這裏](http://stackoverflow.com/questions/4165020/what-is-dynamic-sql) – JohnHC

回答

0

你可以使用變量來此你選擇你coudl使用IF如下:

IF(some_column>50, @table_name := "value for true", @table_name := "value for false");