python - pyodbc:包含 PIVOT 的查询
问题描述
我对包含 PIVOT (Oracle) 语句的 oracle 查询有疑问!
我从表中获取数据没有问题,但如果查询包含数据透视语句,我会收到错误:
File "C:\ProgramData\Anaconda2\lib\site-packages\pandas\io\sql.py", line 1440, in read_query
columns = [col_desc[0] for col_desc in cursor.description]
TypeError: 'NoneType' object is not iterable
关于如何解决这个问题的任何想法?提前谢谢:)
我的代码:
import pyodbc
from pandas import read_sql_query
dbInst = XXX
schema = YYY
passwd = ZZZ
connString = "Driver={Microsoft ODBC for Oracle};Server=" + dbInst + ';Uid=' + schema + ';Pwd=' + passwd + ";"
sqlWorks = """
select 'A' as state, 1 as value from dual
"""
sqlDoesNotWork = """
With T As
(
select 'A' as state, 1 as value from dual
)
Select *
From T
Pivot
(
Sum(Value)
For State In ('A' As States)
)
"""
conn = pyodbc.connect(connString)
data = read_sql_query(sqlWorks, conn)
print data
data2 = read_sql_query(sqlDoesNotWork, conn)
print data2
解决方案
推荐阅读
- clojure - clojure - 没有除数
- dialogflow-es - Dialogflow Google 操作 - 我可以加入欢迎意图吗?
- javascript - 立即可调用函数表达式的意义何在?
- c# - 在 C# 中将图像转换为视频时,如何增加视频的长度(运行时间)?
- linux - 使用变量替换为 sed 并添加
- json - 将 JSON 构建为数组元素
- visual-studio-code - 在 VS Code 中/从 VS Code 启动/测试 VS Emulator for Android
- android - 在 Android Studio 中通过 Glide 加载图像
- html - 在这个特定示例中,如何使跨度覆盖 div 的整个宽度?
- netsuite - Netsuite:如何将自定义链接添加到导航栏或标题