פורסם 2012 ביולי 1413 שנים יש לי שאלה קטנה:SELECT E1.LastName,O1.OrderDate,E2.LastNameFROM Employees AS E1 INNER JOIN Orders AS O1 INNER JOIN Employees AS E2 INNER JOIN Orders AS O2 ON E2.EmployeeID=O2.EmployeeID ON E2.EmployeeID>O1.EmployeeID ON E1.EmployeeID=O1.EmployeeIDWHERE O1.OrderDate=O2.OrderDateמה שלא מובן לי זה החלק של ה-ONיצרתי העתקת של אותה טבלה ובשביל שלא יהיו לי כפילויות אני צריך לשים את הסימן גדול או קטן ב-ON בין השדות המקשריםמה שאני לא מבין זה למה דווקר בינהם....למה דווקא בין E2 ל-O1 יש לי גדול מ..ובאחרים יש לי שוה...השאלה של התרגיל הזה הלכה ככה:1. הצג את כל העובדים (זוגות) אשר טיפלו בהזמנה שבוצעה באותו תאריך
פורסם 2012 ביולי 1413 שנים השאילתה שלך גם לא נעימה לקריאה וגם לא נכונה.אתה צריך בין כל join של שני טבלאות on, אין שום הגיון בלשים > בין IDים, זה פשוט לא נכון, שים !=.אין סיבה לרשום AS, אין סיבה לרשום inner.אני מאמין שהשאלה מתייחסת לתאריך ולא לתאריך+מילי שניה שזה קרה ולכן השווה בין התאריכים לא טוב, אתה צריך לעשות להם cast כדי שיופיע רק התאריך.select E1.lastname,O1.OrderDate,E2.lastnamefrom Employees e1 join orders O1 on (E1.EmployeeID=O1.EmployeeID) join Employees E2 on (E1.EmployeeID != E2.EmployeeID)join Orders O2 on (E2.EmployeeID = O2.EmployeeID)where O1.OrderDate=O2.OrderDate בגלל שאני לא יודע באיזה שרת SQL אתה משתמש אני לא יכול לדעת איך לעשות את ההמרה בין תאריך ושעה לתאריך, כנראה משהו כזה:cast (O1.orderdate as date)
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.