סימני ? בחיתוך OUTER JOIN

פורומים אפיון ופיתוח פריוריטי סימני ? בחיתוך OUTER JOIN

  • Post
    אלמוני
    אורח
    שלום,

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

    הבעיה היא שאני לא בטוחה כמה אני צריכה "לגרור את הסימן שאלה"
    האם לגרור את ה? על חיתוכים עם כל חיתוך נוסף עם טבלת PART
    האם יש לגרור את ? על חיתוכים נוספים עם
    הטבלה הריקה WARHSBAL ?
    אם לדוגמא יש לגרור חיתוכים עם טבלת WARHSBALאז האם ה? ממשיך לכל שאר החיתוכים גם כן…?

    בקיצור הסתבכתי…הוספתי סימני שאלה על כל החיתוכים
    ואני מקבלת דו"ח תקין אבל לוקח לו יותר מידי זמן לשליפה פשוטה ואני בטוחה שזה בגלל זה.

    תודה,
    שירן

מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
  • Replies
    YairM
    משתתף
    שלום שירן

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

    יאיר

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

    תודה תודה!
    שירן.

    SELECT ROY_HTRANS.DOCNO AS '‎תעודה‎',
    ‎ ROY_HTRANS.CURDATE AS '‎תאריך‎',
    ‎ ALN_SERIAL.SERNUM AS '‎ע‎"‎הפק‎ ‎שם‎',
    ‎ FAMILY.FAMILYNAME AS '‎משפחה‎',
    ‎ FAMILY.FAMILYDES AS '‎משפחה‎ ‎תאור‎',
    ‎ ASSEMBLYSTATUSES.CODE AS '‎הרכבה‎ ‎סטטוס‎',
    ‎ PART1.PARTNAME AS '‎גזיר‎',
    ‎ PART1.PARTDES AS '‎מוצר‎ ‎תאור‎',
    ‎ REALQUANT(ROY_HTRANSPART.ORDQUANT) AS '‎בהזמנה‎ ‎כמות‎',
    ‎ REALQUANT(ROY_HTRANSPART.TQUANT) AS '‎שנגזרה‎ ‎כמות‎',
    ‎ REALQUANT(ROY_HTRANSPART.CQUANT) AS '‎לגזור‎ ‎כמות‎',
    ‎ (ORDQUANT – TQUANT > 0 ? ORDQUANT – TQUANT : 0) AS '‎לגזור‎ ‎שנותר‎ ‎כמות‎',
    ‎ (0.0 + (REALQUANT(TQUANT) / REALQUANT(ORDQUANT) * 100)) AS '‎ביצוע‎ ‎אחוז‎',
    ‎ PART2.PARTNAME AS '‎בד‎ ‎ט‎"‎מק‎',
    ‎ PART2.PARTDES AS '‎מוצר‎ ‎תאור‎',
    ‎ CUSTOMERS.CUSTNAME AS '10 ‎סטטוס‎',
    ‎ REALQUANT(WARHSBAL.BALANCE) AS '10‎ב‎ ‎מפעל‎ \'‎ביח‎ ‎יתרה‎',
    ‎ UNIT1.UNITNAME AS '‎מפעל‎ \'‎יח‎',
    ‎ CUSTOMERS1.CUSTNAME AS '11 ‎סטטוס‎',
    ‎ REALQUANT(WARHSBAL1.BALANCE) AS '11‎ב‎ ‎מפעל‎ \'‎ביח‎ ‎יתרה‎',
    ‎ PART2.PARTNAME AS '‎ט‎"‎מק‎',
    ‎ WAREHOUSES.WARHSNAME AS '‎מחסן‎',
    ‎ WAREHOUSES.LOCNAME AS '‎איתור‎',
    ‎ SERIAL.SERIALNAME AS '‎ע‎"‎פק‎/‎מנה‎',
    ‎ ACT.ACTNAME AS '‎פעולה‎',
    ‎ EXEC.ENAME AS '‎ישות‎ ‎שם‎'
    FROM EXEC , ACT , SERIAL , WAREHOUSES WAREHOUSES1 , WAREHOUSES
    , PARTARC , WARHSBAL WARHSBAL1 ?, CUSTOMERS CUSTOMERS1 , UNIT UNIT1
    , WARHSBAL ?, CUSTOMERS , PART PART2 , ROY_HTRANSPART , PART PART1
    , ASSEMBLYSTATUSES , FAMILY , ALN_SERIAL , ROY_HTRANS
    WHERE (EXEC.ENAME = (ACT.ACT >= -1000 ? 'ACT' : 'PALLETS'))
    AND (EXEC.TYPE = 'F')
    AND (PART2.PUNIT = UNIT1.UNIT)
    AND (WARHSBAL1.ACT -5 /* RELEASE */)
    AND (WARHSBAL.ACT -5 /* RELEASE */)
    AND (WARHSBAL.ACT = ACT.ACT)
    AND (WARHSBAL.SERIAL = SERIAL.SERIAL)
    AND (WARHSBAL1.WARHS = WAREHOUSES1.WARHS)
    AND (WAREHOUSES1.WARHS =14)
    AND (WAREHOUSES.WARHS =-2)
    AND (WARHSBAL.WARHS = WAREHOUSES.WARHS)
    AND (WARHSBAL1.CUST = CUSTOMERS1.CUST)
    AND (WARHSBAL.CUST = CUSTOMERS.CUST)
    AND (PARTARC.SON = WARHSBAL1.PART)
    AND (PARTARC.SON = WARHSBAL.PART)
    AND (PARTARC.SON = PART2.PART)
    AND (ROY_HTRANSPART.PART = PARTARC.PART)
    AND (ROY_HTRANSPART.PART = PART1.PART)
    AND (ROY_HTRANS.HTRANS = ROY_HTRANSPART.HTRANS)
    AND (ROY_HTRANS.STATUS = ASSEMBLYSTATUSES.ASSEMBLYSTATUS)
    AND (ROY_HTRANS.FAMILY = FAMILY.FAMILY)
    AND (ROY_HTRANS.SERIAL = ALN_SERIAL.ALN_SERIAL)
    AND ( 1=1 )

    ORDER BY 21 ASC, 15 ASC, 14 ASC, 22 ASC, 23 ASC, 24 ASC, 16 ASC, 25 ASC,
    26 ASC ;

    YairM
    משתתף
    הי שירן

    הבעיה היא לא בסימן שאלה כזה או אחר ,הדוח לא בנוי נכון מבחינת מזהי עמודות וחיתוכים של מזהי העמודות,יהיה קשה להסביר מה ואיך לתקן, לכן אני מצרף לך דוגמא של דוח פשוט שהתוצאות שלו הן העמודות הבאות : מק"ט, יתרה במחסן Main , יתרה במחסן Outl.
    תוכלי לראות איך לבצע קישורים וחיתוכים על עמודות שחוזרות על עצמן, אני מקווה שזה יעזור לך.

    SELECT PART.PARTNAME AS '‎ט‎"‎מק‎',
    ‎ REALQUANT(WARHSBAL.BALANCE) AS 'Main -‎ב‎ ‎יתרה‎',
    ‎ REALQUANT(WARHSBAL1.BALANCE) AS 'Outl -‎ב‎ ‎יתרה‎'
    FROM WAREHOUSES WAREHOUSES1 , WAREHOUSES , WARHSBAL WARHSBAL1 ?, WARHSBAL
    ?, PART
    WHERE (WAREHOUSES1.LOCNAME ='0')
    AND (WAREHOUSES.LOCNAME ='0')
    AND (WARHSBAL1.WARHS = WAREHOUSES1.WARHS)
    AND (WARHSBAL.WARHS = WAREHOUSES.WARHS)
    AND (WAREHOUSES1.WARHSNAME ='Outl')
    AND (WAREHOUSES.WARHSNAME ='Main')
    AND (PART.PART = WARHSBAL1.PART)
    AND (PART.PART = WARHSBAL.PART)
    AND ( 1=1 )

    אלמוני
    אורח
    היי ,
    עברתי על הדוח שלך ולא ראיתי משהו ששונה מהלוגיקה שאני מכירה.

    האם תוכל לתת לי כיוון? להפנות אותי לשורה ספציפית כדוגמא בדוח שלי שיש בה טעות?

    הלוגיקה שאני מכירה זה שאם צריך לחתוך לאותה טבלה פעמיים אז נותנים לה מזהה.

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

    תודה רבה!
    שירן.

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

    תודה,
    שירן

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

    בהצלחה
    יאיר

    אלמוני
    אורח
    היי, אוקיי תודה.
    ניסיתי להתגבר על זה אבל זה יצר לי בעיות אחרות.
מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.