名为 ORDER_STATUS 的列具有三种不同的状态
- 110(已发布)
- 120(已包装)
- 130(已发货)。
现在根据查询返回的数值,我想显示实际名称。我怎样才能实现这个目标?我正在尝试在 SELECT
中使用它。
SELECT
OLI.do_dtl_status ORDER_STATUS
FROM
appwms.order_line_item OLI
WHERE
ORD.tc_order_id = '1002424748'
这里 OLI.do_dtl_status ORDER_STATUS 是我想要根据其值替换为名称的列。请注意,这是为了故障排除。所以我不是在寻找性能等,而是在寻找一些可以简单地添加到查询中的东西。
最佳答案
理想情况下,您可以将名称存储在单独的表中并使用 JOIN。
Please note this is for trouble-shooting so I am not looking for performance etc but something which is simple to add in the query.
对于一次性情况,您可以将它们硬编码到查询中:
SELECT CASE OLI.do_dtl_status
WHEN 110 THEN 'Released'
WHEN 120 THEN 'Packed'
WHEN 130 THEN 'Shipped'
END AS ORDER_STATUS
FROM appwms.order_line_item OLI
WHERE ORD.tc_order_id='1002424748'
关于SQL 查询根据列值显示名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11089238/