לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #5  
ישן 22-07-2010, 14:29
צלמית המשתמש של המממ
  המממ המממ אינו מחובר  
 
חבר מתאריך: 30.10.01
הודעות: 8,699
Follow me...
!
בתגובה להודעה מספר 4 שנכתבה על ידי dardevil שמתחילה ב "?"

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

אז הנה שאילתא שמחזירה פלט דומה למה שביקשת עם טבלאות כפי שציינת בתחביר של אורקל לOUTER JOIN

בהצלחה
קוד:
select P.PRODUCT_ID, C.CUSTOMER_NAME, count(O.ORDER_ID), count(D.DELIVERY_ID) from PRODUCTS P, CUSTOMERS C, ORDERS O, DELIVERIES D where P.PRODUCT_ID=O.PRODUCT_ID and C.CUSTOMER_ID=O.CUSTOMER_ID and O.ORDER_ID=D.DELIVERY_ID (+) group by P.PRODUCT_ID, C.CUSTOMER_NAME


שים לב שאין לי את מבנה הנתונים שלך - אז השאילתא לא נבדקה
_____________________________________
_________________________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
אזהרה: משרד הבריאות קובע כי העישון מזיק לבריאות !
תראו, אפילו החייזר נהיה ירוק מזה

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 22-07-2010, 14:57
צלמית המשתמש של המממ
  המממ המממ אינו מחובר  
 
חבר מתאריך: 30.10.01
הודעות: 8,699
Follow me...
השינוי לא כזה גדול
בתגובה להודעה מספר 6 שנכתבה על ידי dardevil שמתחילה ב "טוב, אז קודם כל תודה על..."

קוד:
select P.PRODUCT_ID, C.CUSTOMER_NAME, count(O.ORDER_ID), count(D.DELIVERY_ID) from PRODUCTS P, CUSTOMERS C, ORDERS O, DELIVERIES D where P.PRODUCT_ID=O.PRODUCT_ID and C.CUSTOMER_ID=O.CUSTOMER_ID (+) and P.PRODUCT_ID=D.PRODUCT_ID and C.CUSTOMER_ID=D.CUSTOMER_ID (+) group by P.PRODUCT_ID, C.CUSTOMER_NAME



ולגבי מסד הנתונים שלך
חיפשתי בגוגל "SQL.*" וכל מה שמצאתי הוא התיחסות לשפת SQL ולא למסד נתונים ספציפי של חברה מסויימת:
http://www.google.co.il/webhp?hl=en...65edddc0d14c628

יש הבדלים בתחביר בין יצרנים שונים של מסדי נתונים, אז נשארתי עם זה של אורקל (גם שם מריצים קבצים בסיומת sql)

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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #9  
ישן 25-07-2010, 13:05
צלמית המשתמש של המממ
  המממ המממ אינו מחובר  
 
חבר מתאריך: 30.10.01
הודעות: 8,699
Follow me...
אין בעד מה
בתגובה להודעה מספר 8 שנכתבה על ידי dardevil שמתחילה ב "תודה רבה! אני אבדוק את..."

ה (+) הוא התחביר של Oracle ל- OUTER JOIN. במקום התחביר המסורבל והלא-קריא של ANSI SQL
בקיצור רב, הסימן מורה למסד הנתונים לספק ערכי NULL כאשר אין ערך מתאים בטבלה השניה
(JOIN רגיל היה מסנן את הרשומות במקרה שאין התאמה מלאה בין הערכים)

GORUP BY מקבץ את התוצאות לפי השדות שברשימה ומפעיל את הפונקציות על שאר השדות שבקבוצה
(בדוגמא, לכל צירוף של מוצר ולקוח הוא יסכום את ההזמנות והמשלוחים)

לגבי ה AND המיותר, אין לי נתונים לבדיקה וכתבתי את השאילתא במהירות - אז טעויות ייתכנו
(למרות שאני עדיין לא משוכנע שזו טעות)

בכל מקרה - אם המושגים כאן לא ברורים - חפש בגוגל
יש המון מידע על מושגים בסיסיים בSQL ברשת וכל הסבר שלי יהיה חלקי ומסורבל.
_____________________________________
_________________________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
אזהרה: משרד הבריאות קובע כי העישון מזיק לבריאות !
תראו, אפילו החייזר נהיה ירוק מזה

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #16  
ישן 29-07-2010, 14:46
צלמית המשתמש של המממ
  המממ המממ אינו מחובר  
 
חבר מתאריך: 30.10.01
הודעות: 8,699
Follow me...
תפני לתמיכה או לספרות של SAP
בתגובה להודעה מספר 15 שנכתבה על ידי dardevil שמתחילה ב "אני נעזרתי ב DARDEVIL כדי שישאל את השאלה"

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

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

אגב, אשפים אוהבים מפתחות זרים - כך הם יודעים מהם הקשרים בין הטבלאות
אם יש לכם את כל המפתחות המתאימים בין הטבלאות אולי גרירה פשוטה של הנתונים באשף תעבוד.
_____________________________________
_________________________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
אזהרה: משרד הבריאות קובע כי העישון מזיק לבריאות !
תראו, אפילו החייזר נהיה ירוק מזה

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #17  
ישן 03-08-2010, 20:26
  shushu304 shushu304 אינו מחובר  
 
חבר מתאריך: 19.10.08
הודעות: 69
בתגובה להודעה מספר 1 שנכתבה על ידי dardevil שמתחילה ב "מיזוג שתי טבלאות"

אני אנסה להסביר לך לפי הדוגמא שנתת בהתחלה:
מוצר | לקוח | הזמנות | משלוחים
456 | אבי | 4 | 0
457 | אבי | 0 | 1
457 | מיכאל | 2 | 1
468 | דני | 0 | 6

נניח שאתה רוצה טבלה בסגנון הזה, יש לך 4 טבלאות
מה שמקשר זה כמו שאמרת ID של הלקוח

קודם כל אתה שולף את כל המוצרים שהוזמנו (כמה , מתי ואיך זה כבר עניין אחר)
על המערך הזה שקיבלת מהשאילתה אתה רץ ב-foreach

בכל סיבוב אתה לקוח את ה-ID המקשר ושולח לפוקציה אחרת ששולפת לפי ה-ID את השם של הלקוח מטבלת הלקוחות, מיד אחרי שחזר השם אתה שולח לפומקציה שוב את ה-ID ושולפת את מספר ההזמנות וכך הלאה...

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

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 14:04

הדף נוצר ב 0.10 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר