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