סיכום 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 פשוט או שחייבים ליצור שאילתת משנה?
-
ש ש.ב.ח. מחק נושא זה ב
-
ש ש.ב.ח. שחזר נושא זה ב
-
השאילתה הבאה:
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 פשוט או שחייבים ליצור שאילתת משנה?
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות