הוספת שדה למסך מטבלה הקשורה ב OUTER JOIN

פורומים אפיון ופיתוח פריוריטי הוספת שדה למסך מטבלה הקשורה ב OUTER JOIN

  • Post
    namnami
    משתתף
    בהוספת שדה למסך מטבלה הקשורה ב OUTER JOIN השדה מציג ערכים נכון.

    אבל בביצוע שאילתת מסך לפי שדה זה השאילתא מתעלמת מהתנאי ושולפת את כל הרשומות.

    לא ראיתי שב SDK יש הסתייגות מלהוסיף שדות מטבלה המקושרת ב OUTER JOIN.

    האם/ איך אפשר להוסיף שדה מטבלה מקושרת OUTER בצורה תקינה כך שגם השליפה תתחשב בה?

    (לדג' הוספת חשבון בנק ספק לקריאה בלבד למסך ספקים).

    תודה

מוצגות 8 תגובות – 1 עד 8 (מתוך 8 סה״כ)
  • Replies
    snoof123
    משתתף
    אשמח אם תפרט פה את הג'וין שלך כמו שאתה כתבת אותו במסך.

    בעיקרון רוב הג'וינים בפריוריטי לא מחייבים OUTER JOIN כי בכל טבלה במערכת יש שורת 0, ו0 נחתך עם 0.

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

    מקווה שהסברתי ברור, בכל אופן, ממליץ לכתוב פה את הג'וין שאתה מכניס במסך 🙂

    namnami
    משתתף
    נראה שכאן כן צריך OUTER כי ה JOIN הוא לפי ACCOUNT שקיים בטבלת בסיס SUPPLIERS ולא תמיד יהיה קיים בטבלת ACCOUNTBANK. הג'וין:SUPPLIERS.ACCOUNT = ACCOUNTBANK.ACCOUNT

    AND ACCOUNTBANK.DEFAULTFLAG = 'Y
    אולי הבעיה קשורה לכך שהג'וין לא כולל את שתי עמודות של המפתח היוניקי של טבלת ACCOUNTBANK

    (שהן ACCOUNT + PAYACCOUNT) אלא רק אחת מהן בשילוב עוד עמודה שאינה מפתח.

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

    תודה רבה

     

    • התגובה הזו עודכנה לפני לפני 3 שנים, 5 חודשים ע"י namnami.
    yitzchok
    משתתף
    IL
    בגדול, ממה שאני ראיתי כבר שנים, שליפה כזאת במסך היא בעייתית.

    הדוגמה שאני זוכר בסטנדרט היא שלא ניתן לשלוף משתמשים לא פעילים, כי INACTIVE הוא ב-USERSB ובמסך USERS החיתוך ל-USERSB מותנה. נאלצים לשלוף את כולם (או לפי שאר התנאים) ואז למיין לפי "לא פעיל".

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    הבהרה: כתבתי את התשובה הקודמת שלי בזמן שעלה העדכון האחרון ולא ראיתי אותו עד עכשיו.

    עכשיו אני מבין את התמונה יותר טובה.

    מקבלים שורות במסך לפי מספר השורות שיש ב-ACCOUNTBANK לאותו ACCOUNT?

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

    יהיה יותר מסודר אם היה מפתח A ב-ACCOUNTBANK אבל אין, ולדעתי אסור להוסיף. אם צריכים את חשבון ברירת המחדל הייתי חושב שאפשר לשמור על החשבון את הערך של PAYACCOUNT לפי ה-DEFAULTFLAG גם אם אני לא לא כל כך בעד שימוש של CHAR 34 בחיתוך… אם סימן אז זה כמו דגל נספחים.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    namnami
    משתתף
    צריכים סימן אם יש חשבון כלשהו לספק (מתוך מסך בן של FNCSUP), אבל את הסימן רוצים להציג במסך ספקים. (ומאחר שהקשר בין מסכים אלו הוא OUTER JOIN לא ברור איך זה עובד כמו דגל נספחים).

    תודה

    namnami
    משתתף
    נראה לי שהבנתי,

    אפשר שיהיה כמו דגל נספחים כי לכל ספק חדש באופן מיידי נוצר חשבון כך שלמעשה אפשר לקשור את החשבון ב JOIN רגיל ולא צריך OUTER JOIN? (ואז סימון אם יש חשבון בנק לחשבון זה כמו דגל נספחים).

    תודה.

     

    yitzchok
    משתתף
    IL
    ממש לא לכך התכוונתי

    עזבו את הרעיון של חיתוך

    חייבים דגל על טבלת SUPPLIERS וב-POST-FORM של המסך של החשבונות לתחזק אותו (צריכים לזהות קודם כל אם מדובר בחשבון של ספק…). עד כמה שאני זוכר כך מנוהל דגל נספחים.

    ובזמן הוספת הדגל לרוץ על כל הספקים ולאתחל את בדגל

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    namnami
    משתתף
    תודה רבה על התשובה המפורטת

    עובד מצוין

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