需要SQL根据另一个数组列表对表进行排序

需要SQL根据另一个数组列表对表进行排序,sql,sql-server,Sql,Sql Server,我需要从我的表中获取项目列表,但必须按排序顺序,并且列表必须按以下顺序排序: 假设我有名为“productid”和“productname”的字段,表如下所示 1. milk 2. pizza 3. boll 我在数组中还有另一个列表,比如 boll pizza milk 现在我想根据数组值对表列表进行排序,并得到下面的列表“ 有什么SQL可以满足我的需要吗?或者我需要通过编码手动完成。如果使用以下伪代码,可以从应用程序代码中执行此操作 sqlexecuter.run( "CREATE TE

我需要从我的表中获取项目列表,但必须按排序顺序,并且列表必须按以下顺序排序:

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

1. milk
2. pizza
3. boll
我在数组中还有另一个列表,比如

boll
pizza
milk
现在我想根据数组值对表列表进行排序,并得到下面的列表“


有什么SQL可以满足我的需要吗?或者我需要通过编码手动完成。

如果使用以下伪代码,可以从应用程序代码中执行此操作

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
");

作为额外提示,如果可以的话,您应该进行批量插入,以便一次插入所有内容。与此类似:
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
");