עדכון מקסימום תאריך אך עם תנאי נוסף

פורומים אפיון ופיתוח פריוריטי עדכון מקסימום תאריך אך עם תנאי נוסף

  • Post
    sayo
    משתתף
    היי,
    בניתי דו"ח שיש בו 2 תאריכים מטבלאות שונות
    בתאריך הראשון שמתי I (מינימום) בחישוב עמודה
    ובתאריך השני שמתי M (מקסימום) בחישוב העמודה
    אני רוצה להוסיף לתאריך השני תנאי >= (גדול או שווה) מהתאריך הראשון.
    איך אני יכולה להוסיף ביטוי כזה בלי שאקבל שגיאה?

    תודה

מוצגות 15 תגובות – 31 עד 45 (מתוך 48 סה״כ)
  • Replies
    sayo
    משתתף
    הורדתי את שורת התנאי שהוספתי ולהן הדוח:

    /* פירוט החזרות סחורה מלקוח */
    ‎ SELECT DOCUMENTS.CURDATE AS '‎תעודה‎ ‎תאריך‎',
    ‎ DOCUMENTS.DOCNO AS '‎תעודה‎',
    ‎ CUSTOMERS.CUSTNAME AS '‎לקוח‎ .‎מס‎',
    ‎ CUSTOMERS.CUSTDES AS '‎לקוח‎ ‎שם‎',
    ‎ DOCUMENTS.DETAILS AS '‎פרטים‎',
    ‎ PART.PARTNAME AS '‎ט‎"‎מק‎',
    ‎ PART.PARTDES AS '‎מוצר‎ ‎תאור‎',
    ‎ REALQUANT(TRANSORDER.TQUANT) AS '‎כמות‎',
    ‎ (MIN(TODOLIST.UDATE)) AS '‎תעודה‎ ‎הקמת‎ ‎תאריך‎',
    ‎ MAX(INVOICEITEMS.IVDATE) AS '‎אחרונה‎ ‎מכירה‎ ‎תאריך‎'
    FROM WAREHOUSES , INVOICES , TODOLIST , INVOICEITEMS , TRANSORDER
    , PART , CUSTOMERS , DOCUMENTS
    WHERE (DOCUMENTS.TOWARHS = WAREHOUSES.WARHS)
    AND (WAREHOUSES.WARHSNAME '50')
    AND (TRANSORDER.TYPE = 'N')
    AND (INVOICES.TYPE = 'A')
    AND (DOCUMENTS.TYPE = 'N')
    AND (INVOICES.STORNOFLAG 'Y')
    AND (INVOICEITEMS.PART = PART.PART)
    AND (DOCUMENTS.TYPE = TRANSORDER.TYPE)
    AND (INVOICES.FINAL = 'Y')
    AND (INVOICES.CUST = CUSTOMERS.CUST)
    AND (INVOICEITEMS.IV = INVOICES.IV)
    AND (DOCUMENTS.DOCNO = TODOLIST.DOCNO)
    AND (TRANSORDER.PART = PART.PART)
    AND (DOCUMENTS.DOC = TRANSORDER.DOC)
    AND (CUSTOMERS.CUST = DOCUMENTS.CUST)
    AND ( 1=1 )
    GROUP BY 1, 2, 3, 4, 5, 6, 7, 8
    HAVING MAX(INVOICEITEMS.IVDATE) <= ((MIN(TODOLIST.UDATE)))
    AND ( 1=1 )
    ORDER BY 2 ASC ;

    yitzchok
    משתתף
    IL
    לא ברור לי מה הבעיה.

    ה"תנאי" שהבנתי שהוא בעייתי זה

    HAVING MAX(INVOICEITEMS.IVDATE) <= ((MIN(TODOLIST.UDATE)))

    וזה עוד שם.

    אז מה זה שהורדת? חישוב של הפרש בימים שזה הנושא האחרון עליו דיברנו?

    יש לי (והיה לי כבר לפני כמה ימים) שהדו"ח הזה לא ישיג את המטרה.

    כתבת:

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

    התכוונת ל-"לפני התאריך בו הוא מחזיר אותו" ??

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    sayo
    משתתף
    זה עובד נכון לגבי הצגת התאריך האחרון (טרם בדקתי מה רושם אם לא היו מכירות…)
    אבל מה שאני מנסה לעשות עכשיו זה להציג את הפרש התאריכים.
    זה לא נמצא בקוד שהצגתי כי הורדתי אותו…
    yitzchok
    משתתף
    IL
    הוספת את הביטוי (בצורת (MIN(X) – MAX(Y או איך שצריך להיות – אולי #70 – #80 יעבוד (לא הקפדתי במספרים אלה, סתם כתבתי)) בעמודה ושמת F בעמודת הפונקציה?
    (העמודה בה יש I ו-M כרגע עבור עמודות דו"ח אחרות)
    בדיוק לזה מיועדת האופציה F
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    sayo
    משתתף
    כן, הכנסתי #80 – #70 ובחישוב העמודה שמתי F אבל אני מקבלת שגיאה:
    דו'ח repprep.q', line 13: parse error at or near symbol <= :RETURNS'.
    שכנראה מתייחס לשורה
    HAVING MAX(INVOICEITEMS.IVDATE) <= ((MIN(TODOLIST.UDATE)))
    yitzchok
    משתתף
    IL
    עדיף להדביק כבר את כל השאילתא ולשים בקטע של פירמוט קוד בבקשה כדי שלא ישובש
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    sayo
    משתתף
    כבר הכנסתי את זה בהודעה הקודמת שלי למעלה
    yitzchok
    משתתף
    IL
    לא עוזר לי כי עשית שינוי…

    כתבת

    כן, הכנסתי #80 – #70 ובחישוב העמודה שמתי F אבל אני מקבלת שגיאה:
    דו'ח repprep.q', line 13: parse error at or near symbol <= :RETURNS'.
    שכנראה מתייחס לשורה
    HAVING MAX(INVOICEITEMS.IVDATE) <= ((MIN(TODOLIST.UDATE)))

    אני לא מבין מאיפה באה המילה RETURNS? זה חלק מציטוט הודעת השגיאה? יש לך משתנה RETURNS: בביטוי כלשהו אצלך?
    הרי את אומרת "כנראה מתייחס" אבל למה את מגיעה למסקנה הזאת? הרי ה-HAVING היה בסדר גמור קודם אז למה להצביע על זה עכשיו אם עשית שינוי אחר שלא קשור?

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    sayo
    משתתף
    RETURNS זה שם הדוח לצורך העניין
    ותוריד את ההערה שלי…

    אז איך אני יכולה להכניס את החישוב מבלי לקבל שגיאה?

    yitzchok
    משתתף
    IL
    1. אני חושב שאני יודע מה יש לעשות אבל לא רוצה לסבך אם זה לא יעזור ובינתיים לא היה לי זמן לבדוק את זה.

    2. אין לשם דו"ח שלך קידומת. למה לא? הסתרת אותה? או את לא שמה קידומות?

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    sayo
    משתתף
    2. הסתרתי אותה בשביל שלא יהיה ארוך מדי
    yitzchok
    משתתף
    IL
    בקשר לשגיאה

    ניסיתי אצלי

    יכול להיות ששמת

    #80 >= #70
    במקום
    #80 - #70

    זה היה מתאים לשגיאה

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    sayo
    משתתף
    לא,
    הכנסתי את הקוד השני שרשמת
    yitzchok
    משתתף
    IL
    את עדיין תקועה עם זה?
    זה לוקח יותר מדי זמן
    אולי פני אלי ישירות
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    sayo
    משתתף
    בשמחה
    מה המייל שלך?
מוצגות 15 תגובות – 31 עד 45 (מתוך 48 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.