Python-MS SQL运行多个查询而不会丢失以前的查询

时间:2018-12-03 01:26:16

标签: python sql sql-server pyodbc

我正在尝试使用MS SQL和Python自动执行一些日常任务。 任何帮助表示赞赏!

我正在尝试使用pyodbc这样做。我必须在单个MS SQL服务器中访问多个数据库。这大致就是我想做的。

select col1, col2, col3 into #temp1 from db1.table1
select col4, col5, col6 into #temp2 from db2.table2
select a.*, b.* into #final from #temp1 a join #temp2 b on a.col1 = b.col 4

但是,当我尝试在python中运行此顺序代码时会发生什么。它无法引用以前的临时表。

解决此问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

使用单个查询而不是使用多个临时表。

赞:

select a.col1, a.col2, a.col3, b.col4, b.col5, b.col6
from db1.table1
join db2.table2 on a.col1 = b.col 4

PS:很可能您不需要从查询中返回col4,因为您肯定知道它的值与col1相同(因为这就是您联接两个表的方式)

答案 1 :(得分:0)

您正在使用本地临时表,它们只能在同一会话中访问。您可以使用全局临时表,使用##代替#,但不要忘记删除它们