У меня есть две таблицы tbl1
и tbl2
обе со строками id
и price
, где tbl1
содержит много записей и tbl2
только несколько
Я хочу выбрать всезаписи из tbl1
, но хотите заменить price
данными из tbl2
, если они существуют в tbl2
До сих пор я получил этот запрос, который не работает:
SELECT p.id,
CASE p.id WHEN p.id IN (
SELECT id
FROM tbl2
)
THEN o.price
ELSE p.price END AS 'price'
FROM tbl1 p
LEFT JOIN tbl2 o ON p.id = o.id
Образец tbl1
id price
1 1.23
2 4.56
3 7.89
Образец tbl2
id price
2 99.99
Ожидаемый результат запроса
id price
1 1.23
2 99.99 <--- entry from tbl2
3 7.89