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

标签 sql sql-server

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

假设我有名为“productid”和“productname”的字段以及如下记录的表

1. milk
2. pizza
3. boll

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

boll
pizza
milk

现在我想根据数组值对表列表进行排序并获取下面的列表”

3. boll
2. pizza
1. mike

是否有任何 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
");

关于sql - 需要 SQL 根据另一个数组列表对表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17125600/

相关文章:

具有 Int 和 Decimal 转换的 SQL Server SUM 函数

sql - Oracle-XMLTYPE : How to update a value

sql-server - SQL Server 2008 将 VARCHAR(50) 转换为唯一标识符

c# - 使用 Dapper 进行多映射查询

sql-server - SQL Server 过程超时

sql - 如何更新数据库中所有表的特定列值

sql - 如何在具有简单 4 列(sno、name、job、dept)的表上的 oracle 中创建死锁情况?

sql - 如何删除Microsoft Access中多个表的内容?

sql - 如何在 pgAdmin 中将 SQL 查询保存为 SQL 文件?

python - pyodbc 错误模式不存在或您没有权限