slip
Guest
Объединение таблиц и вычитание
Попробую объяснить что мне нужно:
У нас есть таблицы table1, table2, table3 в каждой по 2 поля (id & pole). Все они связываются через id. Мне нужно выполнить примерно следующее:
select SUM(table1.pole-table2.pole-IFNULL(table3.pole,0)) AS result
этим мы пытаемся отнять от table1.pole поле table2.pole и если не найдена запись поля
table3.pole присваеваем ему 0 и все равно отнимаем, получается table2.pole,table3.pole отнимаем от table1.pole
дальше нужно объеденить 3 таблицы по полю ID
WHERE table1.id = table2.id...
а вот как объеденить третью таблицу если у нее такой же ID? Как я понял нельзя сделать дальше table2.id = table3.id, а как быть?
Далее мне нужно результат работы result проверить на то что бы он не был меньше или
не равнялся нулю, делаю так:
GROUP BY table1.pole
HAVING result > 0
не работает, как быть?
Попробую объяснить что мне нужно:
У нас есть таблицы table1, table2, table3 в каждой по 2 поля (id & pole). Все они связываются через id. Мне нужно выполнить примерно следующее:
select SUM(table1.pole-table2.pole-IFNULL(table3.pole,0)) AS result
этим мы пытаемся отнять от table1.pole поле table2.pole и если не найдена запись поля
table3.pole присваеваем ему 0 и все равно отнимаем, получается table2.pole,table3.pole отнимаем от table1.pole
дальше нужно объеденить 3 таблицы по полю ID
WHERE table1.id = table2.id...
а вот как объеденить третью таблицу если у нее такой же ID? Как я понял нельзя сделать дальше table2.id = table3.id, а как быть?
Далее мне нужно результат работы result проверить на то что бы он не был меньше или
не равнялся нулю, делаю так:
GROUP BY table1.pole
HAVING result > 0
не работает, как быть?