我需要同时对大量数据库(准确地说是 50 个)执行一个简单的查询
SELECT * FROM table1 WHERE column1 NOT IN(SELECT column1 FROM table2)
我正在使用:
SQLite Studio 3.1.0
和 .sqlite 数据库
SQLite 不允许使用DECLARE
,所以我不能使用变量来存储所有的数据库名称
数据库名称结构:
commonpart_CUSTOM
更新:
我意识到我没有解释我的查询。我想选择与 from中table1
包含column1
的值不匹配的所有内容column1
table2
我必须对 50 个具有相同结构但具有不同数据的数据库进行此操作,而不是一次在一个数据库上执行查询。我希望能够在我的所有数据库上执行它,只有一个表用于所有合并的结果,但也声明它来自哪个数据库,尽管不必自己编写所有数据库名称。
-Database1
-Table1
-Column1
-Column2
-Column3
-Column4
-Table2
-Column1
-Column2
-Column3
-Table3
-Column1
-Column2
-Column3
-Database2
-Table1
-Column1
-Column2
-Column3
-Column4
-Table2
-Column1
-Column2
-Column3
-Table3
-Column1
-Column2
-Column3
Column1
fromtable1
包含在Column1
from中声明的数据类型,table2
但在 100 万行中,因此它是重复的
e.g.
row1 AAA
row2 AAA
row3 BBB
row4 FLM
Column1
来自table2
包含声明的数据
e.g. Types: AAA, BBB, CCC, FFF
预期输出类型:
╔════╦══════════════╦════════════╦════════════╦════════════╦════════════╗
║ ║ Database ║ Column1 ║ Column2 ║ Column3 ║ Column4 ║
╠════╬══════════════╬════════════╬════════════╬════════════╬════════════╣
║ 1 ║ Database1 ║ FLM ║Data ║Data ║Data ║
║ 2 ║ Database2 ║ - ║Data ║Data ║Data ║
║ 3 ║ Database3 ║ NULL ║Data ║Data ║Data ║
║ 4 ║ Database4 ║ NULL ║Data ║Data ║Data ║
╚════╩══════════════╩════════════╩════════════╩════════════╩════════════╝
Column1
fromExpected Output
包含所有与Column1
from中定义的数据类型不匹配的数据类型table2
,该Database
列包含输出来自的数据库的名称,其他列包含找到不匹配值的行的所有其他数据类型
由于Column1
从table1
第 4 行开始包含 FLM,它不存在于其中Column1
,table2
因此预期作为输出
我只需要一种方法来告诉我的查询在多个数据库上执行,而无需自己编写数据库的名称,就像循环一样。
注意:我只能提供通用数据,因为它与工作相关,抱歉。