Python3 で SQLite3 クエリを実行すると、予期しない結果が得られます。
if first_waypoint_number < last_waypoint_number:
result = list(c.execute("SELECT WPNumber, WPID, ROUTE FROM rte WHERE ROUTE = ? AND WPNumber BETWEEN ? AND ?", (route, first_waypoint_number, last_waypoint_number)))
print(result)
else:
result = list(c.execute("SELECT WPNumber, WPID, ROUTE FROM rte WHERE ROUTE = ? AND WPNumber BETWEEN ? AND ? ORDER BY WPNumber DESC", (route, first_waypoint_number, last_waypoint_number)))
print(result)
最初のクエリは期待どおりに機能し、次の結果が生成されます。
[('A123', 25, 'WAYPOINTX'), ('A123', 26, 'WAYPONTY'), ('A123', 27, 'WAYPOINTZ')]
ただし、2 番目のクエリは空のリストを生成しますが、[]
逆の順序で同じリストを返す必要があります。
問題なく SQLite3 で両方のクエリをテストしました。
ここで何か不足していますか?