两表连接查询,按照时间段,不符合的返回0,这个sql咋写啊?

lsm121 发布于 2018/05/30 11:14
阅读 338
收藏 0

mysql中有两个表,货物表和货物价格表,货物价格表有一个开始时间一个结束时间字段,还有一个单价字段,给出一个时间匹配符合时间段的单价和货物,不符合货物的单价用0显示,这个sql怎么写啊?

加载中
0
DeMoNHaDeS
DeMoNHaDeS
select a.*, b.单价 as 单价 from 货物表 a inner join 货物价格表 b on a.id = b.id 
where b.开始时间 >= ? and b.结束时间 <= ? 
union all 
select a.*, 0 as 单价 from 货物表 a inner join 货物价格表 b on a.id = b.id 
where !(b.开始时间 >= ? and b.结束时间 <= ?) 

 

l
lsm121
做出来了 感谢
0
温柔的掠食者
你最好把两个表的字段都写出来啊,还有主键和外键
返回顶部
顶部