› פורומים › אפיון ופיתוח פריוריטי › חיתוך INNER JOIN ON 1=1 בפריוריטי
- This topic has 4 תגובות, 4 משתתפים, and was last updated לפני 11 חודשים, 2 שבועות by NoamN.
- Post
-
- יולי 4, 2023 בשעה 5:48 pm
הייהחברה שאני עובדת בה מקבלת תמיכה של חברת DBA על המסד נתונים שלה , לאחרונה החברת DBA שלחה התראה על תהליך כלשהו בפריוריטי שכשמריצים אותו גורם לעומס על המעבד ולסתימה של הזיכרון של המערכת
הנציג של החברה שלח קוד SQL שלטענתו הוא גרום לכל הבלגן הקוד כולל חיתוך כזה : INNER JOIN DOCUMENTS ON 1=1
הוא אומר שהחיתוך הזה גורם למכפלה קרטזית – הבעיה שלי היא שאני לא מצליחה לזהות את החיתוך בפריוריטי שגורם לזה כי אני לא מצליחה לתרגם את החיתוך הזה בSQL לחיתוך שיש בדוח בפריוריטי
אם מישהו יוכל להסביר לי מה זה אומר החיתוך הזה בSQL ואיך אני מזהה ומטפלת בו בפריוריטי – יעזור לי מאד מאד!!
תודה רבה
- Replies
-
- יולי 5, 2023 בשעה 8:44 am
הסינטקס הזה שה-DBA רואה אומר שיש לבצע חיתוך "פתוח" (מונח שלי לצורך ההסבר, לא מונח מקובל), זאת אומרת מביאים את DOCUMENTS אבל לא דורשים התאמה של רשומות למצב של ערך כלשהו ברשומה בטבלה אחרת כפי שנהוג (=במצב הנורמלי, נדרש).בסינטקס העתיק יותר שיש בפריוריטי זה להביא את הטבלה ב-FROM בלי לציין התאמה לעמודה אחרת ב-WHERE.
מצב כזה נוצר כאשר במחולל הדו"חות מוגדרת עמוד(ו)ת דו"ח מטבלת DOCUMENTS (בדוגמה זו) אבל אין באף עמודה כזו חיתוך או תנאי שמקשר לטבלה אחרת.
לא ברור לי מהשאלה אם אתם יודעים באיזה דו"ח מדובר (אם כי סביר שתדעו) או אם אתם גם צריכים לזהות את הדו"ח. תגידו אם יש לכם קושי גם שם.
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- יולי 5, 2023 בשעה 11:28 am
הייתודה על התגובה
אני כן יודעת באיזה דו"ח מדובר וגם ניסיתי לבדוק אם יש באמת חיתוך כזה פתוח – כמו שאתה קורא לו
הבעיה שעשיתי DUMP לדוח ואני לא רואה שיש טבלה בFORM שאין לה חיתוך לטבלה אחרת
ולכן אני שוב לא מבינה איזה חיתוך הSQL תרגם ככה
- יולי 5, 2023 בשעה 4:38 pm
יכול להיות שהטבלה שחותכת לDOCUMENTS נמצאת בOUTER JOIN (? סימן שאלה בחיתוך)ואח"כ את חותכת לDOCUMENTS ללא סימן שאלה?
אם כן, זה יכול לדפוק את החיתוך כזה…
אם מתחילים JOIN בסימן שאלה אז הג'וינים מאותה טבלה גם צריכים לקבל סימן שאלה.
מקווה שזה מובן ועוזר.
- יש להתחבר למערכת על מנת להגיב.