试图让这个查询解决,但我似乎无法找出错误。有帮助吗?
select s.IDENTIFIERS,
s.store_id,
ifnull(d.SALES_PRICE,ifnull(u.SALES_PRICE,s.SALES_PRICE)) as SALES_PRICE
from BOOK_SALES as s
LEFT OUTER JOIN store AS BV
ON bv.store_id = s.store_id
left outer join discount as d
on d.IDENTIFIERS=s.IDENTIFIERS
and d.from_date<=s.sales_date
and d.to_date>=s.sales_date
and u.to_date<0>
left outer join discount as u
on u.IDENTIFIERS=s.IDENTIFIERS
and u.to_date=0
答案 0 :(得分:3)
试试这个:
select s.IDENTIFIERS,
s.store_id,
isnull(d.SALES_PRICE,isnull(u.SALES_PRICE,s.SALES_PRICE)) as SALES_PRICE
from BOOK_SALES as s
LEFT OUTER JOIN store AS BV
ON bv.store_id = s.store_id
left outer join discount as d
on d.IDENTIFIERS=s.IDENTIFIERS
and d.from_date<=s.sales_date
and d.to_date>=s.sales_date
and d.to_date='12/12/1989'
left outer join discount as u
on u.IDENTIFIERS=s.IDENTIFIERS
and u.to_date='12/12/1989'
IFNULL用于My-sql,不在sql server中,请点击此链接null function in database