DB2: объединение двух таблиц с приоритетом - PullRequest
0 голосов
/ 24 декабря 2010

У меня есть 2 почти идентичные таблицы, как в этом примере:

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

Будет несколько магазинов, а иногда и несколько сезонных товаров, характерных для некоторых магазинов, которые будут доступны только один раз, а затем исчезнут и не попадут в обычный список товаров. Там также будет несколько нормальных предметов с акционной ценой на определенный период.

Теперь, как мне составить компиляцию из этих 2 таблиц, со всеми ценами из обычных товаров, со всеми сезонными товарами, и, если есть какие-то конфликтующие товары, запрос вернет тот, что в season_list, и отбросит цены в item_list ?

Спасибо за вашу помощь:)

1 Ответ

1 голос
/ 24 декабря 2010
select COALESCE(seasonal.price,normal.price) 
from normal left outer join seasonal 
on normal.id= seasonal.id

имя столбца и таблицы не то, что вы упомянули, но надеетесь получить идею.

Он объединяет две таблицы и, когда сезонная цена не существует или равна нулю, возвращает нормальную цену.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...