Рассчитать, используя объединение между двумя таблицами для случаев, когда объединенная таблица не соответствует

0

Я пытаюсь вычислить значения (вычесть B из A) между статическими и динамическими таблицами. В некоторых случаях динамическая таблица еще не имеет записей, соответствующих статической таблице, поэтому я просто хочу, чтобы она вычитала 0. Мой Join возвращает NULL в этих случаях:

Select T1.A-T2.B from Table1 T1
Left Join Table2 T2
On T1.ID=T2.Table2_ID

Как я могу установить if up, чтобы он просто использовал 0? Не уверен, если/как использовать ifNull здесь...

  • 0
    Если все нормально, но объединение соответствует стандарту ANSI
Теги:
join
ifnull

1 ответ

1
Лучший ответ

Используйте coalesce() или определенную MySQL ifnull() для подачи нуля, если T2.B недоступен:

Select T1.A - coalesce(T2.B,0) as calc
from Table1 T1
Left Join Table2 T2 On T1.ID=T2.Table2_ID

Ещё вопросы

Сообщество Overcoder
Наверх
Меню