我正在尝试使用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中运行此顺序代码时会发生什么。它无法引用以前的临时表。
解决此问题的最佳方法是什么?
答案 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)
您正在使用本地临时表,它们只能在同一会话中访问。您可以使用全局临时表,使用##代替#,但不要忘记删除它们