#sql #join #null
Вопрос:
Я пытаюсь объединить две таблицы и включить все значения, даже если они равны нулю. Я не могу понять, как включить эти значения, которые отсутствуют для min(цена) и max(цена), которые равны нулю. Я думаю, что мне нужно предложение where, но все, что я пишу, я получаю ошибку sql, например, где min(цена) равна нулю, а min(цена) не равна нулю. Это то, что у меня есть для запроса до сих пор:
select items.barcode, iname as item_name, weight
, min(price)
, max(price)
, min(quantity)
, max(quantity)
, sum(quantity)
from items
join order_lines on items.barcode = order_lines.barcode
group by barcode;
Я также хочу, чтобы наименьшее/наибольшее количество было равно 0, если значение равно нулю, и я не уверен, как это исправить, после того как я использую левое соединение, чтобы решить эту первую проблему выше^^
Комментарии:
1. Используйте
LEFT JOIN
вместоJOIN
.2. спасибо, что это сработало! но если я хочу, чтобы наименьшее/наибольшее количество говорило 0 вместо null, как бы я тогда это исправил?
3. Посмотрите в
coalesce
функцию, чтобы обработать значение null4. или, возможно, функция NVL