Oracle中根据一个字段的值的不同,匹配不同的语句

李人 2018-02-27 10:52:46
表A是用来计算价钱的。已经取到的数据有:价格类型(a)、单价、数量、使用天数。现在有这样的需求。我需要根据字段a的值来计算价格。a的值有两个 a1a2两个类型。a1是代表着按照天数来计算价格的。a2是代表按照月数来计算价格的(就是天数 / 30,比如 28天是一个月,35天是两个月 )
如果是a1:价格=数量 * 单价 * 天数 。
如果是a2:价格=数量 * 单价 * 月数 。
先谢谢大佬,困扰好几天了,新手一个。不胜感激

...全文
1854 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
李人 2018-02-27
  • 打赏
  • 举报
回复
引用 5 楼 qq_26465035 的回复:
引用 1 楼 liuzhijian2008x 的回复:
用case when 写
吓尿了,看来是格式不对。我先试试。好用给你分数。先谢谢大佬。
好了。
李人 2018-02-27
  • 打赏
  • 举报
回复
引用 4 楼 liuzhijian2008x 的回复:
round 四舍五入不符合你的需求。 改为 trunc吧,
对对,已经改过。我发现我是因为一个格式有问题,我就说思路应该是没问题的。不管怎样,谢谢你大佬。
李人 2018-02-27
  • 打赏
  • 举报
回复
引用 1 楼 liuzhijian2008x 的回复:
用case when 写
吓尿了,看来是格式不对。我先试试。好用给你分数。先谢谢大佬。
liu志坚 2018-02-27
  • 打赏
  • 举报
回复
round 四舍五入不符合你的需求。 改为 trunc吧,
liu志坚 2018-02-27
  • 打赏
  • 举报
回复
引用 2 楼 qq_26465035 的回复:
[quote=引用 1 楼 liuzhijian2008x 的回复:]
用case when 写
我之前也是想的用case when 写。可是一直报错。
能不能麻烦你写个case when 的模板。我两个价格计算公式也写好了。就是不知道怎么匹配[/quote]

表名 t1
价格类型 a
价格 pri
数量 shul
天数 ts
select case
when a = 'a2' then
t.shul * t.pri * (round(t.ts / 30) + 1)
when a = 'a1' then
t.shul * t.pri * t.ts
end as 价格,
t.*
from t1 t;
给你参考。
李人 2018-02-27
  • 打赏
  • 举报
回复
引用 1 楼 liuzhijian2008x 的回复:
用case when 写
我之前也是想的用case when 写。可是一直报错。 能不能麻烦你写个case when 的模板。我两个价格计算公式也写好了。就是不知道怎么匹配
liu志坚 2018-02-27
  • 打赏
  • 举报
回复
用case when 写

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧