python—合并一个表中具有非重复条件的多个数据库并连接另一个表

np8igboo  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(509)

我有两个数据库,我们称它们为db1和db2。
db1和db2有相同的表,但是有不同的信息。
长话短说,每个表中都有一个“定义”表和另一个“数据”表。
“data”是纯原始数据,由和defid指定,我可以使用它链接到“definition”表并找出它的含义。
所以在这一点上,我需要做的是串联'数据',同时合并'定义',也就是说,我不会有重复的字符串'定义',但我不会覆盖'数据'中的任何东西,即使有重复的值。
有没有人能帮我弄清楚在pyodbc库中我可以使用什么sql命令来实现这一点?
对于连接数据,我认为:

INSERT TO DB1.Data (DefId,Val1,Val2,Val3) VALUES (defidx,val1x,val2x,val3x)

在一个循环中,如果defidx、val1x、val2x和val3x是从另一个表中获取的值,则应该执行此任务。我不知道我是否应该担心光标的位置在表的末尾(也许??)。另一个问题是,这些表与数据中的其他表有关系,我也必须处理这个问题
对于没有重复的合并(“定义”),我不知道从哪里开始。
编辑:向你展示我想要的
之前:
数据库1:

'Definitions'
Id  Def   
1   'Def1'
2   'Def2'
3   'Def3'
'Data'
Id DefId Val1  Val2  Val3
1  1     23    0     11
2  1     34    0     11
3  1     213   0     11
4  2     120   1     9
5  3     32    3     15
6  2     211   1     9

数据库:

'Definitions'
Id  Def   
1   'Def1'
2   'Def2'
3   'Def4'
'Data'
Id DefId Val1  Val2  Val3
1  1     3     0     11
2  1     4     0     11
3  2     2     1     9
4  3     1     3     15

之后:
数据库1
(或创建的其他数据库,如db3)

'Definitions'
Id  Def   
1   'Def1'
2   'Def2'
3   'Def3'

4   'Def4'
'Data'
Id DefId Val1  Val2  Val3
1  1     23    0     11
2  1     34    0     11
3  1     213   0     11
4  2     120   1     9
5  3     32    3     15
6  2     211   1     9

7  1     3     0     11
8  1     4     0     11
9  2     2     1     9
10 3     1     3     15

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题