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

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

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

מתוזמן נעוץ נעול הועבר תכנות
4 פוסטים 2 כותבים 97 צפיות
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • י מנותק
    י מנותק
    יוס
    כתב ב נערך לאחרונה על ידי
    #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
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
  • התחברות

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

  • התחברו או הירשמו כדי לחפש.