סיכום JOINים - ייחודי לID
-
השאילתה הבאה:
SELECT `projects`.`id` AS `id`, `projects`.`name` AS `Name`, `projects`.`address` AS `Address`, `customers`.`name` AS `Customer Name`, COUNT(DISTINCT `steps`.`id`) AS `steps`, SUM(`incomes`.`amount`) AS `total incomes`, SUM(`expenses`.`amount`) AS `total expenses` FROM `projects` INNER JOIN `customers` ON `customers`.`id` = `projects`.`customer_id` LEFT JOIN `incomes` ON `incomes`.`project_id` = `projects`.`id` LEFT JOIN `steps` ON `steps`.`project_id` = `projects`.`id` LEFT JOIN `expenses` ON `expenses`.`step_id` = `steps`.`id` GROUP BY `projects`.`id`, ORDER BY `id` ASC LIMIT 10 OFFSET 0
לפרויקט אחד (לדוגמא) יש כמה הכנסות (4) וכמה הוצאות (5+) (שים לב שההוצאות מתייחסות לשלב ואילו ההכנסות מתייחסות ישירות לפרויקט)
מה שקורה בפועל שהסיכום של ההוצאות הוא כמות ההכנסות * סכום ההוצאות.יש פיתרון לזה בJOIN פשוט או שחייבים ליצור שאילתת משנה?
-
-