【发布时间】:2016-12-03 10:14:59
【问题描述】:
read_sql 查询可以处理带有多个 select 语句的 sql 脚本吗?
我有一个执行不同任务的 MSSQL 查询,但我不想为每种情况编写单独的查询。我想只写一个查询并拉入多个表。
我希望在同一个脚本中进行多个查询,因为这些查询是相关的,并且它使更新脚本更容易。
例如:
SELECT ColumnX_1, ColumnX_2, ColumnX_3
FROM Table_X
INNER JOIN (Etc etc...)
----------------------
SELECT ColumnY_1, ColumnY_2, ColumnY_3
FROM Table_Y
INNER JOIN (Etc etc...)
这会导致两个单独的查询结果。
后面的python代码是:
scriptFile = open('.../SQL Queries/SQLScript.sql','r')
script = scriptFile.read()
engine = sqlalchemy.create_engine("mssql+pyodbc://UserName:PW!@Table")
connection = engine.connect()
df = pd.read_sql_query(script,connection)
connection.close()
只带入查询中的第一个表。
我是否可以同时提取两个查询结果(可能使用字典),这样我就不必将查询分成多个脚本。
【问题讨论】:
-
您希望如何在一个数据框中拥有两组不同的列?
-
我希望有一种方法可以创建一个包含所有数据框的字典。
-
“进入多个脚本”是什么意思?
-
查询之间有什么关系?设计一个带有 CROSS JOIN、INNER JOIN 或 SQL Server 的 CROSS APPLY 的 SQL 脚本到一个语句中。然后立即导入 pandas 以通过列指示器迁移到数据帧字典中。
标签: python sql sql-server python-3.x pandas