Показать сообщение отдельно
  #4  
Старый 11.05.2012, 13:50
.dima .dima вне форума
Прохожий
 
Регистрация: 03.05.2012
Сообщения: 5
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Вообще, тут надо править структуру БД. Все записи должны быть в одной таблице и отличаться просто по типу (ну для простоты можно еще и по знаку, в зависимости от операции с товаром). Избавишься от большого кол-ва потенциальных проблем.

А в данном случае, если заьить на оптимальность, то можно сделать так:
Код:
select idtov, sum(skolvo) from
(
select idtov, (sum(kolvo)) as skolvo from vozv_tov Group by idtov
union all
select idtov, (sum(kolvo)) as skolvo from nak_tov Group by idtov
union all
select idtov, (sum(kolvo)) as skolvo from oprihdovanie Group by idtov
union all
select idtov, -1 * (sum(kolvo)) as skolvo from prod_tov Group by idtov
union all
select idtov, -1 * (sum(kolvo)) as skolvo from spisanie Group by idtov
) foo
group by idtov
where idtov = 2

Как-то так. Только это очень дорого для БД делать такой запрос.
Работает,спасибо. А программа делается на диплом,надо,чтоб было много отошений.
Ответить с цитированием