DB2:以优先级连接2个表

时间:2010-12-24 18:14:24

标签: sql db2

我有两个几乎相同的表,例如:

item_list

store     item      price
-------------------------
store1    SKU2388   200
store1    SKU2377   150

season_list

store     item      price     season_start   season_end
-------------------------------------------------------
store1    SKU2377   100       12/10/10       31/12/10
store1    SKU2310   300       12/10/10       31/01/11

将会有多个商​​店,有时会有一些特定于某些商店的季节性商品,这些商品一次只能使用一次然后消失,并且不会进入正常商品列表。在特定时期还会有一些普通商品的促销价。

现在,我如何编制这两个表,包括普通项目的所有价格,以及所有季节性项目,如果存在一些冲突的项目,查询将返回season_list上的那个并丢弃item_list上的那些?

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

select COALESCE(seasonal.price,normal.price) 
from normal left outer join seasonal 
on normal.id= seasonal.id

列和表名不是你提到的,但希望得到这个想法。

它连接两个表,当季节性价格不存在或为空时,它返回正常价格。