У меня есть инструкция SQL, которая должна извлекать информацию из двух баз данных, одна из них является константой и известной базой данных, а другая динамически находится в первой базе данных. Структура базы данных выглядит следующим образом:SELECT FROM из базы данных, названной из значения в JOIN
- (база данных) поиск
- (таблица) тест
- ключ (поля), database_name
- (строка выборки) "Foo", "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;
Есть ли способ, которым я могу сделать эту работу, или мне лучше сделать два eparate SQL-заявления, один для поиска и один для базы данных?
Я описываю комментарий по этому поводу, а потом понял, что это не будет работать для него, потому что динамическое значение является построенный извлекается из соединения, ранее не известно – Bryan
@BryanMoyles ему придется делать ** оба **, затем отдельный запрос для поиска нужного ему значения * и * dynamic sql для изменения имени БД в запросе. – Matthew