Topic: проблема с отчетом SQL

День добрый, все вроде работает, но есть баг небольшой: если используется 1 работа и 1 деталь в ремонте, то в отчет все падает как надо, но если используется несколько деталей или работ, то падает только последняя запись и общая цена. Где то намудрено с запросом. Не посмотрите на досуге?
С Уважением Дмитрий

SELECT

"is_detall" as uniontype,
"" as raboty_name,
"" as raboty_price,
detall.name as detall_name,
detall.price as detall_price,
ifnull ((SELECT SUM(detall.price) FROM detall WHERE detall.id_application = application.id),0) as SumDetallPrice,
ifnull ((SELECT SUM(raboty.price) FROM raboty WHERE raboty.id_application = application.id),0) as SumRabotyPrice,

srochnost.srochno,
master.master,
detall.name,
tip.tip,
application.date_out,
application.date_dozvona,
application.date,
application.record_count,
application.clientname,
application.SN,
application.komplekt,
application.clientmessage,
brand.brandname,
application.clientphone,
application.vnVid,
application.workname,
application.planDAta,
application.model


FROM
application




LEFT OUTER JOIN srochnost ON srochnost.id = application.id_srochnost
LEFT OUTER JOIN tip ON tip.id = application.id_tip
LEFT OUTER JOIN brand ON brand.id = application.id_brand
LEFT OUTER JOIN detall ON detall.id_application = application.id
LEFT OUTER JOIN master ON master.id = application.id_master
WHERE
application.date_out >={dtFrom1} AND application.date_oplata <={dtTo1} AND application.id_master = {cbMaster1} AND detall.id_application = application.id
GROUP BY application.id

UNION


SELECT

"is_raboty" as uniontype,
raboty.name as raboty_name,
raboty.price as raboty_price,
"" as detall_name,
"" as detall_price,
ifnull ((SELECT SUM(detall.price) FROM detall WHERE detall.id_application = application.id),0) as SumDetallPrice,
ifnull ((SELECT SUM(raboty.price) FROM raboty WHERE raboty.id_application = application.id),0) as SumRabotyPrice,

srochnost.srochno,
detall.name,
master.master,
tip.tip,
application.date_out,
application.date_dozvona,
application.date,
application.record_count,
application.clientname,
application.SN,
application.komplekt,
application.clientmessage,
brand.brandname,
application.clientphone,
application.vnVid,
application.workname,
application.planDAta,
application.model


FROM
application


LEFT OUTER JOIN srochnost ON srochnost.id = application.id_srochnost
LEFT OUTER JOIN tip ON tip.id = application.id_tip
LEFT OUTER JOIN brand ON brand.id = application.id_brand
LEFT OUTER JOIN raboty ON raboty.id_application = application.id
LEFT OUTER JOIN master ON master.id = application.id_master
LEFT OUTER JOIN detall ON detall.id_application = application.id



WHERE
application.date_out >={dtFrom1} AND application.date_oplata <={dtTo1} AND application.id_master = {cbMaster1} AND detall.id_application = application.id
GROUP BY application.id

http://i9.pixs.ru:/thumbs/7/6/4/RSSRS.jpg_2659311_14919764.jpg
http://i9.pixs.ru:/thumbs/7/6/5/SRRRSS.jpg_8876565_14919765.jpg

Re: проблема с отчетом SQL

http://i9.pixs.ru:/thumbs/7/6/4/RSSRS.jpg_2659311_14919764.jpg
http://i9.pixs.ru:/thumbs/7/6/5/SRRRSS.jpg_8876565_14919765.jpg
Более читабельные скрины

Re: проблема с отчетом SQL

Пришлите пожалуйста ваш проект на support@drive-software.com
со ссылкой на данную тему.


Так будет проще найти ошибку )

Dmitry.

Re: проблема с отчетом SQL

Спасибо выслал на почту!

Re: проблема с отчетом SQL

Спасибо за помощь, заработало!
про sort by понял...надо было ORDER BY