我有一條SQL語句必須從兩個數據庫中提取信息,一個是常量和已知數據庫,另一個是在第一個數據庫中動態找到的。該數據庫的結構是這樣的:從JOIN中的值中選擇一個數據庫
- (數據庫)查找
- (表)測試
- (場)鍵,數據庫名稱
- (行樣品) 「富」, 「database_foo」
- (表)測試
- (數據庫)database_foo
- (表)酒吧
- (場)important1,important2
- (行樣品) 「傻」, 「測試」
- (表)酒吧
所以我的SQL語句如下所示:
SELECT
test.key as key,
test.database_name as database_name,
bar.important1 as important1,
bar.importnat2 as important2,
FROM
lookup.test as test,
(database_name).bar as bar, # this, obviously, doesn't work
WHERE
key = 'foo'
LIMIT 1;
有沒有辦法讓我做這項工作,還是對我來說只是做兩件事更好?單獨的SQL語句,一個用於查找,另一個用於數據庫?
我寫了這個評論,然後意識到,這將不會爲他工作,因爲動態值是構造是從連接中提取的,它以前是未知的 – Bryan
@BryanMoyles他必須做兩個**然後,一個單獨的查詢來查找他需要的值*和*動態sql來更改查詢中的數據庫名稱。 – Matthew