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

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

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

LEFT JOIN לא מציג את השורות שאין התאמה

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

    שלום,

    אני מנסה לקבל מידע משני טבלאות שיש לי ב MYSQL

    1. טבלת הזמנות עם פרטי ההזמנה.
    2. סל הקניה עם פרטי המוצרים ומחירים

    אני מנסה ליצור שאילתא שתתן לי לי עבור כל הזמנה את פרטיה מטבלה מס' 1, ואת מספר המוצרים והסכום מטבלה מספר 2,

    מה שחשוב לי לראות גם הזמנות שאין בהם מוצרים (הזמנות ריקות)

    זה מה שעשיתי

    SELECT orders.*, SUM(product.price) AS cartSum, COUNT(product.id) AS productCount
    FROM orders 
    LEFT JOIN product
    ON orders.id = product.orderId GROUP BY product.orderId
    

    את השורות שיש התאמה בין שני הטבלאות אני מקבל את כולם
    אך אני מקבל רק שורה אחת (מתוך מאות) של הזמנות שאין התאמה מטבלה מספר 2

    תודה

    מערכת מכירות בכל ערוצי המכירה, טלפון-מייל-ואתר
    שיגור הודעות במחירים המשתלמים ביותר
    לפתיחת מערכת https://app.ipsales.co.il/

    dovidD י 2 תגובות תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      השיב ליוס ב נערך לאחרונה על ידי dovid
      #2

      @יוס אמר בLEFT JOIN לא מציג את השורות שאין התאמה:

      GROUP BY product.orderId

      תשנה את זה GROUP BY product.orderId לGROUP BY orders.id.
      הסבר: אתה קיבצת לפי מס' הזמנה של שדה ההזמנה שבטבלת המוצרים. באורח פלא, כל ההזמנות להם אין שום שורה בטבלת המוצרים, הערך של השדה product.orderId שלהם הוא זהה (null)...

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      3
      • י מנותק
        י מנותק
        יוס
        השיב ליוס ב נערך לאחרונה על ידי יוס
        #3

        עריכה: עד שסיימתי את זה ראיתי את התגובה של @dovid

        מצאתי את הטעות,

        עשיתי GROUP BY product.orderId
        אך לא קיבצתי גם את הנתונים שבטבלה 1

        זה המתוקן

        SELECT orders.*, SUM(product.price) AS cartSum, COUNT(product.id) AS productCount
        FROM orders 
        LEFT JOIN product
        ON orders.id = product.orderId 
        GROUP BY orders.id, product.orderId
        
        

        מערכת מכירות בכל ערוצי המכירה, טלפון-מייל-ואתר
        שיגור הודעות במחירים המשתלמים ביותר
        לפתיחת מערכת https://app.ipsales.co.il/

        dovidD תגובה 1 תגובה אחרונה
        1
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          השיב ליוס ב נערך לאחרונה על ידי
          #4

          @יוס תמחק את , product.orderId, זה מיותר.

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          1
          • dovidD dovid העביר נושא זה מ-ארכיון code613m ב-

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

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

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