我使用Python 3和PyQt 5来执行包含表变量的查询。我的其他查询工作,但这个特定的查询导致我的问题。查询是:
declare @Temp table
(
SKU varchar(25),
Lines int
)
insert into @Temp
SELECT convert(varchar, [Sku]) as [SKU]
,count([Order Number]) as [Lines]
from [Database].dbo.[Table Name]
GROUP BY [Sku]
ORDER BY [LINES]
Select RANK() OVER(Order by Lines Desc) / (Select Convert(float,Count(*)) from @Temp) as [CUM PERCENT SKU]
,sum(Lines) Over(Order by Lines Desc) / convert(float,sum(Lines) Over()) as [CUM PERCENT LINES]
from @Temp
Order By [Lines] DESC
我替换了数据库名称和表名,但文本的其余部分是确切的查询。
在SQL Server 2012中执行上述操作非常有效。我不知道QSql有限制吗?
提前谢谢!
答案 0 :(得分:1)
经过一番研究后,当你试图创建一个表(显然甚至是临时表)时,你需要使用prepare()。
我发布了答案,以防其他人遇到同样的问题,并且不想通过C ++ StackOverflow答案。
query = QSqlQuery()
query.prepare(*query text here*)
query.exec_()