我试图在sqlserver中创建一个表变量,对其进行查询,并将结果返回到pandas数据帧(参见示例)。我想这样做,以便在将数据发送到pandas数据帧之前在数据库中聚合数据。我记得设置NOCOUNT ON可以让它工作,因为它在执行每个查询时不会返回任何内容。但这不管用。这显然是一个示例代码,但我已经能够在这里重新创建错误。按照建议的链接,您将看到documentating for ^{}。我觉得没什么用。import urllib
import sqlalchemy
import pandas as pd
quoted = urllib.parse.quote_plus('DRIVER={ODBC Driver 17 for SQL Server};Server=127.0.0.1;Database=mydb;UID=myuser;PWD=mypasswd;Port=1433;')
engine = sqlalchemy.create_engine('mssql+pyodbc:///?odbc_connect={}'.format(quoted))
query = """
SET NOCOUNT ON;
DECLARE @n_majors TABLE (id varchar(9), n_majors int)
INSERT INTO @n_majors
SELECT m.student_id_fk
, COUNT(DISTINCT dc.category) AS [N majors declared]
FROM msu_db.dbo.Majors AS m
JOIN department_categories AS dc
ON