עבור לתוכן

עזרה בsql

Featured Replies

פורסם

היי , יש לי את ה3 טבלאות המסומנות בקובץ המצורף. 

שמהם אני צריכה להוציא שאילתה שמעדכנת את ערכו של tot_creds בהתאם לסהכ הנקודות בקורסים שלקח הסטודנט - עזרה בפיתרון? 

ניסתי לעשות עם UpDate אבל לא יצא לי טוב..

 

 

 

נערך על-ידי Lili2424

פורסם

איזה קובץ מצורף?

עריכה: זה התמונה?

נערך על-ידי af db creid

פורסם
  • מחבר

כן

נערך על-ידי Lili2424

פורסם

איך משייכים בין student לבין כל הtakeים שלו? אני לא רואה איזשהו ID.

נערך על-ידי af db creid

פורסם
  • מחבר

זה אמור להיות שילוב בין שלושת הראלציות. 

id של student   ו takes 

ו course id בין course לבין takes

פורסם

מה ניסית? במה נתקעת?

פורסם

וגם, איזה בסיס נתונים זה? MS SQL SERVER? MySQL?

פורסם
  • מחבר

Sql server 

 

וניסתי לעשות

update student 

Set tot_cred=sum (credits) 

Where כל התנאים שid  שווה לשני וכו'

ואז עוד select פנימי עם מכפלה קרטזית

פורסם

קוד מלא בבקשה. אם לא אדע מה ניסית לא אוכל לדעת למה נכשלת :)

פורסם
  • מחבר

צירפתי תמונה 

20201213_213121.jpg

פורסם

- את בטוחה שה-ID הראשי של טבלת takes זהה ל-ID של הסטודנט? אולי ה-ID של הסטודנט זה ה-sec_id?

- למה ה-id של הקורס צריך להיות שונה?

ta.course_id<>co.course_id

- הייתי מעיף את התנאי שמשווה dept_name, כשאפשר עדיף להתייחס ל-id בלבד

פורסם
  • מחבר

כן הid בstudent זה מספר הסטודנט 

ובtakes זה גם מספר הסטודנט מפתח זר.

לדעתי id צריך להיות שונה כך שיסכום לי את כל הנקודות של כל הקורסים שהסטודנט לקח

 

פורסם

התמונה של השאילתה לא שלמה ויש בה סוגריים לא סגורים, עדיף במקום תמונה להעתיק את השאילה עצמה לפה בתוך תגיות קוד <>

 

ציטוט של Lili2424

ובtakes זה גם מספר הסטודנט מפתח זר

זאת אומרת שיש כפילויות של ID בטבלה הזאת? לא ענית לי על מה מצביע sec_id?

 

ציטוט של Lili2424

לדעתי id צריך להיות שונה כך שיסכום לי את כל הנקודות של כל הקורסים שהסטודנט לקח

ההגיון אומר שאם ה-id יהיה שונה אז הוא יסכם לך את כל הקורסים שהסטודנט לא לקח

 

אני מציע שתתחילי מלנסות לבנות שאילתת select עם group by שתחזיר לך את הסכומים הנכונים, אחרי שזה יעבוד רק אז תהפכי את זה לשאילתת update

נערך על-ידי etal

פורסם
  • מחבר

אוקיי אנסה תודה רבה 

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים