我正在尝试使用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中运行这个顺序代码时,会发生什么。它无法引用以前的临时表。
解决这个问题的最佳方法是什么?
使用单个查询,而不是使用多个临时表。
类似:
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
具有相同的值(因为这就是您连接两个表的方式(。
您使用的是本地临时表,它们只能在同一会话中访问。您可以使用全局临时表,使用##而不是#,但不要忘记删除它们