דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. סיכום JOINים - ייחודי לID

סיכום JOINים - ייחודי לID

מתוזמן נעוץ נעול הועבר תכנות
2 פוסטים 2 כותבים 128 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש מנותק
    ש מנותק
    ש.ב.ח.
    כתב ב נערך לאחרונה על ידי ש.ב.ח.
    #1

    השאילתה הבאה:

    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 פשוט או שחייבים ליצור שאילתת משנה?

    yossizY תגובה 1 תגובה אחרונה
    0
    • ש ש.ב.ח. מחק נושא זה ב
    • ש ש.ב.ח. שחזר נושא זה ב
    • yossizY מחובר
      yossizY מחובר
      yossiz
      השיב לש.ב.ח. ב נערך לאחרונה על ידי
      #2

      @ש-ב-ח אולי יש משהו חכם יותר, אבל במושכל ראשון תוכל לכתוב:

      SUM(`expenses`.`amount`) / COUNT(DISTINCT  `incomes`.`id`) AS `total expenses`
      

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      תגובה 1 תגובה אחרונה
      0

      בא תתחבר לדף היומי!
      • התחברות

      • אין לך חשבון עדיין? הרשמה

      • התחברו או הירשמו כדי לחפש.
      • פוסט ראשון
        פוסט אחרון
      0
      • דף הבית
      • קטגוריות
      • פוסטים אחרונים
      • משתמשים
      • חיפוש
      • חוקי הפורום