Azure SQL 数据库的一列显示为已排序



我在Azure中有一个SQL数据库,如下面的链接所示。我正在使用pyodbc在python中制作一个小程序来更新数据库中人员的Oros。我创建了三个连接对象(每个看到的列一个),并使用 while 循环进行迭代。

它将从用户那里获取输入,迭代直到找到输入的 ID 代码,并且由于所有游标都位于同一 while 循环中,因此 Rating 和 Name 游标将始终位于同一行中。

https://i.stack.imgur.com/ZssyW.png

除某种原因外,ID 列将排序。左边的表是来自 Sql Server 管理服务器的屏幕截图Microsoft右边的表是每次循环访问和打印时发生的情况。

我该如何解决这个问题/是什么原因造成的?

这是我的代码(相关部分):

current_id = (ID_cursor.execute("SELECT LocalID FROM MEMBERS"))
current_rating = (rating_cursor.execute("SELECT Rating FROM MEMBERS"))
current_firstname = (firstname_cursor.execute("SELECT FirstName FROM MEMBERS"))
counter = 0
while counter < 10:
    counter += 1
    temp_id = ID_cursor.fetchone()[0]
    temp_rating = rating_cursor.fetchone()[0]
    temp_firstname = firstname_cursor.fetchone()[0]
    print(temp_id, temp_firstname, temp_rating)
print("end")

ORDER BY 子句应用于所有三个查询,以便它们的排序方式相同。我假设您的主键标识列LocalID

current_id = (ID_cursor.execute("SELECT LocalID FROM MEMBERS ORDER BY LocalID"))
current_rating = (rating_cursor.execute("SELECT Rating FROM MEMBERS ORDER BY LocalID"))
current_firstname = (firstname_cursor.execute("SELECT FirstName FROM MEMBERS ORDER BY LocalID"))

如果未指定 ORDER BY 子句,SQL Server 可能会按 SELECT 语句中的列进行排序。

相关内容

  • 没有找到相关文章

最新更新