【发布时间】:2013-10-31 09:28:17
【问题描述】:
在我的 SQLite 查询中:
"SELECT * FROM menu WHERE ID IN (" & optList & ") ORDER BY seqno"
optList 是一个 ID 列表,类似于:
"01","02","14","03"
这些行对应的 seqno 值为:01 02 03 04,这是我需要的顺序,但返回的行按 ID 顺序排列,即01, 02, 14, 03
使用WHERE IN 时ORDER BY 是否不起作用和/或是否有其他方法可以按所需顺序返回行?
【问题讨论】:
-
您的代码看起来正确。请在SQLFiddle 上创建一个示例。
-
我正在使用 B4A。 optlist 是一个字符串,例如“'01','02','14','03'”。 ID 是整数,seqno 是 2 位文本。
-
以前没用过 SQLFiddle,虽然可以看到如何创建表,但在 SQL 中不够专业,无法向其中插入数据,对不起。
-
在 SQLFiddle 中有一个工作示例,它确实产生了正确的顺序。必须再次检查 B4A 中的工作,也许它在做一些奇怪的事情!
标签: sqlite where sql-order-by