需要SQL基于另一个数组列表对表进行排序

时间:2013-06-15 16:19:44

标签: sql sql-server mysqli

我需要从我的表中获取项目列表,但是按排序顺序,列表必须按如下方式排序:

假设我的字段名为“productid”和“productname”,表格如下所示

1. milk
2. pizza
3. boll

我在数组中有另一个列表,例如

boll
pizza
milk

现在我想根据数组值对表列表进行排序,并在下面列出“

3. boll
2. pizza
1. mike

有没有SQl可以做我需要的东西?或者我需要通过编码手动完成。

由于

1 个答案:

答案 0 :(得分:5)

如果您的应用程序代码

中包含以下伪代码,则可以执行此操作
sqlexecuter.run(
"CREATE TEMPORARY TABLE ORDERED_ENTRIES(
       ORDER_ENTRY NOT NULL AUTO_INCREMENT PRIMARY KEY,
       PRODUCT_NAME varchar(255) --Put the same amount size as your other table
)")

然后在您的代码中将它们插入到该表中,与此

类似
for(i:lenght(myProductArray))
    sqlexecuter.run
    ("
        INSERT INTO ORDERED_ENTRIES
        VALUES("+myProductArray[i]+")"
    )

然后像这样选择

sqlexecuter.select(
"
SELECT OE.ORDER_ENTRY, PT.PRODUCT_NAME
FROM PRODUCT_TABLE AS PT, ORDERED_ENTRIES AS OE
WHERE
    OE.PRODUCT_NAME = PT.PRODUCT_NAME
ORDER BY OE.ORDER_ENTRY
");