2013-10-31 62 views
0

在我的SQLite查詢:使用ORDER BY與其中

"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

ORDER BY在使用時不工作和/或是否有其他方式按期望的順序返回行?

+0

當然'ORDER BY'在這種情況下工作!一些澄清:你從哪裏調用SQL([tag:vb.net],[tag:android],...)? 'optList'是一個字符串還是一個字符串數組? 'ID'和'seqno'是兩位數字串嗎? –

+0

你的代碼看起來正確。請在[SQLFiddle](http://sqlfiddle.com/#!5)上創建一個示例。 –

+0

我正在使用B4A。 optlist是一個字符串,例如「'01','02','14','03'」。 ID是一個整數,seqno是2位數字文本。 – user2940737

回答

1

這個工作對我罰款

SELECT * 
FROM `accolades` 
WHERE id 
IN (1, 3, 4, 5) 
order by id asc 
+0

但是您按照您在WHERE子句中具有的同一列進行排序。在我的情況下,我想通過另一個列與我在WHERE中使用的順序不同。 – user2940737

+0

我已經嘗試,它爲我的作品 SELECT * FROM 'accolades' WHERE ID IN(1,3,4,5) ORDER BY accoladable_id ASC LIMIT 0,30 –