2

这是一个愚蠢的问题。假设我有一个为列表框生成的查询,它为三个商店生成值

Store A     18
Store B     32
Store C     54

现在,如果我在 sql 语句中排序,它唯一会做的就是按字母顺序降序或升序,但我想要一个特定的顺序(只是因为他们想要一个特定的顺序)......所以有没有办法让我添加一些东西到 SQL 来获取

Store B
Store C
Store A

即基本上逐行我想要什么。谢谢!

4

2 回答 2

1

将数字字段sequencer添加到包含商店名称的表中。使用排序器值来确定您的排序顺序。

SELECT sequencer, store_name FROM YourTable ORDER BY sequencer;

在列表框中,将序列器列的列宽设置为 0 。

或者简单地说,正如@dscarr 建议的那样,不要在字段列表中包含序列器SELECT,而只需将其包含在ORDER BY...

SELECT store_name FROM YourTable ORDER BY sequencer;
于 2010-03-30T20:07:23.547 回答
1

你可以做两件事中的一件。

要么使用SWITCH语句,例如

SELECT Table1.Store, 
       Table1.Val, 
       Switch([Store]="StoreB",1,[Store]="StoreC",2,[Store]="StoreA",3) AS Expr1
FROM Table1
ORDER BY Switch([Store]="StoreB",1,[Store]="StoreC",2,[Store]="StoreA",3);

或者使用存储商店名称的值和按值排序的二级订单表。

于 2010-03-30T20:08:39.197 回答