Oracle SQL - 是否有更有效的方法来组织大规模的case语句

baw*_*pie 0 sql oracle case space-efficiency

目前我有一份报告,查看不同类型的文件.每个文档都有一个指定的时间表,它应该完成(即2天,4天等).有超过100种类型的文件.目前,每个文档的分配时间刻度保存在Excel电子表格中,并使用vlookup公式(基于评估ID)与excel中的数据匹配.遗憾的是,我们的数据库中没有地方可以放置这个指定的时间刻度,但我希望能够从数据库运行报告并将其发送给用户,而无需在Excel中执行此额外操作.我知道我可以通过写一个大规模的案例陈述来实现这一目标(下面只是一个例子)

SELECT
ID,
CASE WHEN ID = 1 then '1 day' 
WHEN ID = 2 then '42 days'
WHEN ID = 3 then '16 days'
ELSE 'CHECK' end as 'Timescale'
FROM TABLE1
Run Code Online (Sandbox Code Playgroud)

但我确实想知道在SQL中是否有更有效的方法(除了请求数据库中的其他字段来记录这个!)?可能没有,但认为值得问!谢谢.

Bob*_*ica 5

如果您有100个不同的时间表,那么将TIMESCALE表添加到您的数据库并放弃在电子表格中存储对您的业务很重要的信息是合理的.没有什么比Excel,精美的产品,我最好的朋友都是Excel电子表格 - 但我不会在其中存储关键业务信息.

分享和享受.