batistuta91 07.02.2414:42

עזרה בSQL

עזרה בSQL

SELECT
T1.,
T1. AS 'מס חשבון ספק',
T0. AS 'תאריך מסמך',
T0. AS 'מסמך מספר',
T1. AS 'כמות'
FROM
PDN1 T1
INNER JOIN
OPDN T0 (N'')
ORDER BY
T1.
אני רוצה לקבל תוצאות גם אם אני רק מקליד מספר חשבונית או מספר פריט בנפרד בלי צורך להקליד את שניהם מצד שני אם אני משנה את השאילתא לOR במקום AND אני מקבל גם תוצאות שלא קשורות לחיפוש שהקלדתי

איך אפשר לתקן את זה ?
sza 07.02.2418:10
1. איפה אתה רואה פה WHERE / AND / OR ? בתגובה להודעה מספר 0



צחי.




dj_boy 07.02.2420:09
2. WHERE? בתגובה להודעה מספר 0
batistuta91 08.02.2410:24
3. הסתדרתי תודה בתגובה להודעה מספר 0
SELECT
T1.[ItemCode],
T1.[U_Invoice] AS 'מס חשבון ספק',
T0.[DocDate] AS 'תאריך מסמך',
T0.[DocNum] AS 'מסמך מספר',
T1.[Quantity] AS 'כמות'
FROM
PDN1 T1
INNER JOIN
OPDN T0 ON T1.[DocEntry] = T0.[DocEntry]
WHERE
T1.[ItemCode] = (N'[%0]')
OR T1.[U_Invoice] = (N'[%1]')
ORDER BY
T0.[DocNum]
כשאני מעתיק את השאילתא לפורום הוא מעלים את החלק של הWHERE
בכל מקרה הסתדרתי
תודה
batistuta91 08.02.2415:59
4. אם כבר שאלה אחרת על השאילתא בתגובה להודעה מספר 3
כרגע במצב הנוכחי זה נותן לי אופציה או שאני מקליד חיפוש לפי מק"ט או לפי מספר חשבון ספק
במידה ואני מקליד את שניהם זה לא מביא לי תוצאה מדוייקת של המק"ט והמספר חשבון הספציפי
האם יש דרך שאני באותה שאילתא גם תהיה אפשרות לחפש לפי מק"ט או מספר חשבון ספציפי
ובנוסף גם שברגע שאני משלב את 2 התוצאות בחיפוש לקבל את התוצאה המדוייקת של השילוב בין שניהם
תודה מראש
machine 08.02.2416:56
5. בשביל זה אתה צריך בSBO שתי שאילתות בתגובה להודעה מספר 4
אבל ברמה הטכנית של SQL היית יכול לעשות את זה עם פרמטר חיצוני נוסף שיקבל קלט איזה סוג סינון לעשות, כי בסוף המערכת צריכה לדעת איך לסנן - AND או OR...

אתה מריץ ישירות על הDB או שאתה עובד עם זה בתוך הSBO?
batistuta91 11.02.2407:52
7. מריץ בתוך הסאפ בתגובה להודעה מספר 5
lord1 08.02.2419:33
6. מכתב בתגובה להודעה מספר 4

ערכתי לאחרונה בתאריך 08.02.24 בשעה 19:41 בברכה, lord1


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

בגדול ב WHERE יש 2 מקרים כללים -
המקרה בו הכנסת את שני הערכים (שורות 12-18), ואז שורה 13 בודקת ששני הערכים קיימים ולא ריקים, ואז עושה את הפילטור שאתה רוצה
או
המקרה שבו הכנסת רק את אחד מהערכים (שורות 21-31), ואז שורות 21-25 בודקת שבאמת רק אחד מהערכים קיים והשני לא קיים (אתה יכול לשנות במקום IS NULL ל ='' אם זה יותר מתאים פה), ורק אז ממשיכה בשורות 27-30 למה שאתה רוצה לעשות במקרה ואחד מהם קיים (במקרה הזה, להחזיר אם יש match על אחד מהם)



השאילתא:

https://rotter.name/User_files/nor/?...

עריכה: יכול להיות שתצטרך לעטוף כל מופע של סוגריים מרובעים %0 (וגם %1) בסוגריים כמו שעשית עם N.

מקווה שעוזר לך.




https://rotter.name/User_files/nor/?...
batistuta91 11.02.2413:13
8. תודה אבל בדרך שנתת זה לא עבד בתגובה להודעה מספר 6
בכל זאת הכיוון שלך כן נתן פתרון כלשהו

The Boss 11.03.2418:29
9. SBO = SAP Business One בתגובה להודעה מספר 6




@lord1@
העבר לפורום אחר
העבר לפורום:
סיבה:
תגובה חדשה
כותרת:
תוכן:
סמיילים:
הצג
עריכת אשכול
כותרת:
תוכן:
סמיילים:
הצג