为了寻找解决这个问题的方法,我到处搜索,当我在语句中添加Order by时,我收到了错误:
(156,“靠近关键字‘Order’. Server错误消息20018,严重性15:\n通用Server错误:检查来自Server的消息\n”)
我的.py文件中的代码是:
db = pymssql.connect(server='DESKTOP-3G1FB9B\SQLEXPRESS', user='sa', password='', database='Osmium')
cursor = db.cursor()
sql = "(SELECT TOP 1 * FROM delayed Order by ID ASC)"
cursor.execute(sql)如果我删除'Order‘,它执行的很好,但是我需要对结果进行排序,并且无法找到解决方案。将查询输入SQLServer2014ManagementStudio并添加"Osmium.dbo.delayed“返回正确的结果,我只需要它在Python2.7脚本中工作
SELECT TOP 1 * FROM Osmium.dbo.delayed Order by ID ASC发布于 2016-05-01 03:17:15
提出这个问题是为了给出答案,并解释为什么:
将sql变量声明更改为:
sql = "SELECT TOP 1 * FROM [delayed] ORDER BY [ID] ASC"ORDER是to中的一个子句,因此不需要括号来建立任何操作顺序。方括号可用于环绕Server中的某些对象,以允许使用保留字(例如,如果您有一个名为file的列)或某些字符(例如,一个名为you -db的数据库)。
https://stackoverflow.com/questions/36954577
复制相似问题