left join (outer join) עם שדות לא משותפים

פורומים אפיון ופיתוח פריוריטי left join (outer join) עם שדות לא משותפים

  • Post
    סמי
    משתתף
    אני מנסה לעשות outer join עם כמה שדות ולא מצליח משום שיש שדות דגל שהם לא משותפים לדוגמא  WAREHOUSES.SELLFLAG = 'Y' ולא מצליח .

    השאילתה :

    SELECT PART.PARTNAME,RTOA (REALQUANT (SUM
    (WARHSBAL.BALANCE)),2) AS EPARTDES,PART.PARTDES
    FROM PART, PARTDES, PARTSTATS, WARHSBAL?, WAREHOUSES?, CUSTOMERS ?
    WHERE (PART.PARTNAME LIKE '%' OR PART.PARTDES LIKE '%'
    OR PARTDES.EPARTDES LIKE '%')
    AND PART.PART = PARTDES.PART
    AND PART.WTYPE <> 'Y'
    AND PART.PARTSTAT = PARTSTATS.PARTSTAT
    AND PARTSTATS.SELLFLAG = 'Y'
    AND PART.PART=WARHSBAL.PART AND (WARHSBAL.ACT = 0 OR WARHSBAL.ACT < -1000)
    AND WARHSBAL.WARHS = WAREHOUSES.WARHS AND WAREHOUSES.SELLFLAG = 'Y'
    AND WARHSBAL.CUST = CUSTOMERS.CUST AND((CUSTOMERS.STATUSFLAG = 'Y' AND CUSTOMERS.SELLFLAG = 'Y') OR CUSTOMERS.STATUSFLAG <> 'Y')
    GROUP BY 1,3
    ORDER BY 1 FORMAT;

מוצגות 2 תגובות – 1 עד 2 (מתוך 2 סה״כ)
  • Replies
    yitzchok
    משתתף
    IL
    לא אכנס עכשיו לכל הפרטים של חיתוך מותנה, אבל אם אתה רוצה לבצע outer join כאשר בצד עם סימן השאלה לא תרצה לקבל את כל האוכלוסייה שבטבלה אלא להתנות, תכין מראש את האוכלוסייה המצומצמת בטבלת לינק ותחתוך לטבלת הלינק.

    אם תשים תנאי כמו שעשית, תלוי בנסיבות או לא תהיה לתנאי שום השפעה, או הוא יפיל את השורות לאחר החיתוך ולמרות שרצית את השורות מהטבלה שבלי סימן השאלה, בלי משהו לצידן, לא תקבל כלל את השורות האלה.

    מקווה שזה ברור

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    tiny
    משתתף
    אין משמעות לתנאי כזה על טבלה ב oj, תבדוק אולי התייחסות לעמודה הזו בפונקציית חישוב:

    SUM((WAREHOUSES.SELLFLAG='Y'?  WARHSBAL.BALANCE : 0))

    ונראה שחסרה לך התייחסות לעמודה 4 ב group by

מוצגות 2 תגובות – 1 עד 2 (מתוך 2 סה״כ)

תגיות: , ,

  • יש להתחבר למערכת על מנת להגיב.