使用info from this other StackOverFlow question我可以查詢具有相同的表中的所有數據庫的列表:如何查詢列跨多個相同的數據庫中的所有類似的表在MySQL
SELECT
table_name, table_schema AS dbname
FROM
INFORMATION_SCHEMA.TABLES
WHERE
table_name = 'myCommonTableName'
這會給我的數據庫列表有我感興趣的表。現在我的問題是如何查看這些表的值而不是表的名稱。換句話說東西沿着線:
SELECT
myCommonTableName.id
FROM
[all tables from all databases - query above]
WHERE
myCommonTableName.someValue > someTest
換句話說,我希望得到來自所有相同的表(多租戶)的行,所有符合特定條件的數據庫。我需要爲用戶和帳戶管理做到這一點。可能嗎?如果是的話如何?
UPDATE爲了進一步澄清,因爲似乎有些混亂,我不想這樣做:
SELECT * FROM myTable WHERE myTable.id = (SELECT id FROM anotherTable WHERE someOtherCondition)
。
我試圖做的是一樣的東西:
SELECT * FROM [databaseList].myTable WHERE myTable.id = 1
。
或者更精確地說:
for(listOfDatabases)
SELECT * FROM [database.x].myTable WHERE myTable.id = 1
基本上,我想所有的一切MyTable的結果在我所有的數據庫,他們有1相同的ID值,它實際上是一個不同的WHERE子句,但你明白了。
@Shadow這不是一個重複的問題。在你的複製問題鏈接假設你已經知道數據庫,並可以使用連接,工會等在我的情況下,我不知道數據庫,可能有一個,但也可能有很多。換句話說,我的查詢需要查找表和數據庫以及這些表中的數據。您提到的問題僅適用於最少數量的數據庫,並且您知道數據庫,並且您正試圖加入它們,但我不想加入它們。 –