关于查询优先级的问题

dgyig 2017-03-01 02:56:46
有这样一个表T 商品加顾客作为唯一索引
goods client discount
a 张三 0.7 //代表张三单独对a商品有7折优惠
张三 0.8 // 代表张三对所有商品都有8折优惠
a 0.9 //代表商品a的通用优惠
b 0.9
商品加顾客作为条件。目前希望select时。优先查找goods跟client都不为空时的折扣。若不存在。则再查找goods为空client不为空时的折扣。 若还是没有记录。则最后查找出商品的通用优惠。
目前我是用的

select discount from T where goods =@goods and discount=@discount
if 结果为空 then
select discount from T where goods is null and discount=@discount
if 结果为空
。。。。。

请问有没有方法能在一个select语句里面实现这种逻辑?



...全文
178 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
js14982 2017-03-01
  • 打赏
  • 举报
回复
就用这种方法吧,挺好的,逻辑比较清晰

17,086

社区成员

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

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