Ded пишет:

WildSery wrote:

Вроде ничего чуднОго. Найти документы у которых сумма не равна сумме по строкам с учётом, что курс в заголовке.
Обойти конечно не сложно, но всё же.
Может, я мыслю как-то уж очень вычурно, как бы ты такой запрос выполнил?
(просто по логике задачи если мыслить, обходные пути я и сам найду)

select d.did, sum(l.enum5*d.dnum8)
 from doc d
 join lin l on d.did = l.eiddoc
group by d.did
having d.dnum5 != sum(l.enum5*d.dnum8)

? Или я тож к вечеру того... вычурно... :)

Вообще-то, если там курс и денги не смасштабированные в интах, а даблы, до фига вернёт, однако. Тогда, как в школе учили, так надо:

having Abs(d.dnum5-sum(l.enum5*d.dnum8))<:ebsilon

скорее всего так:
SELECT d.did, d.dnum5, SUM(l.enum5*d.dnum8)
  FROM doc d
       LEFT JOIN lin l ON d.did = l.eiddoc
  GROUP BY d.did, d.dnum5
  HAVING roundcommon(d.dnum5, 4) != roundcommon(SUM(l.enum5*d.dnum8), 4)

--
С уважением,
 Андрей Еремин.

Ответить