我有一個兩個表TabA和TabB。 TabA位於'DBX'_B中的DB_A和TabB中。這可能嗎?從表列值使用databaname Mysql查詢
現在我需要從DBA的TabA的字段中獲取DBX_B名稱,並將它們連接到查詢中以從這兩個表中提取數據。
DBA.TabA:
ID DB_Name UserName Password
-------------------------------------------
101 DBX xyz abc
DBX_B.TabB:
ID Type FirstName LastName
-------------------------------------------
101 Admin xyz abc
我需要從DBA.TabA
拉ID, Username, Password
和DBX_B.TabB
拉Type, Firstname, LastName
。但是第二個數據庫名稱可以從DB_NAME標識出來並用字符串連接,如_B'. So the 2nd database to pull from is
DBA.TabA.DB_Name'+ _B
。 在兩個ID上加入這兩個表。
查詢可以是這個樣子:
SELECT DBA.TabA.ID, DBA.TabA.Username, DBA.TabA.Password,
DB2.TabB.Type, DB2.TabB.FirstName, DB2.TabB.Lastname
FROM DBA, CONCAT(DBA.TabA.DB_Name, '_B') as DB2
WHERE DBA.TabA.ID = DB2.TabB.ID
當然,我們可以用加入過多,而不是在那裏。
是這樣的可能嗎?想法?
我對此表示懷疑。這實際上不是關係數據庫設計的目的...... – 2012-07-13 17:04:23
除了數據庫名稱來自表值之外,它看起來像是一個直接的查詢。 :-) – 2012-07-13 17:24:50
準確!..... – 2012-07-13 17:27:04