פורסם 2007 בנובמבר 2418 שנים יש לי שאלה כזאת:להציג זוגות של אחים שיש להם הורים משותפים.אני לא מבין איך אני בודק את הקשר בין ההורה לבין הילד לפי תעודת זהות..זה הבסיס הנתונים Parent(parent_id,child_id).Sex(person_id,sex).Person(person_id,person_name,age).תודה לעוזרים
פורסם 2007 בנובמבר 2418 שנים אני לא מבין מה הבעיה לבדוק מה הקשר בין הורה לילדהרי יש לך טבלה מפורשת שאומרת מי ההורה ומי הילד שלואני לא מבין כל כך מתיאור שלך מה השאילתה אמורה לעשותלפי מה שהבנתי צריך למצוא "משפחה" שיש בה שתי אחים בדיוק ,בנוסך צריך לשים לב שלכל ילד יכול להיות יותר מהורה אחדselect child_idfrom parentwhere parent_id in(select parent_idfrom parentgroup by parent_idhaving count(child_id)=2)group by child_id;בשאילתה הפנימית הוא בודק לאיזה הורים יש שתי ילדים בלבדבחיצונית הוא בודק לאיזה מהילדים יש הורים שמופעים בתוצאה של האילתה הפנימיתה-GROUP BY בסוף הוא למקרה שיש לשני אחים יותר מהורה אחד (במקרה כזה האחים יופעו פעמים ברשימה)אולי כדאי להוסיף לשאילתה החיצונית OREDER BY על ההורים כדי שברשימה שתתקבל הריאשון והשני יהיו אחיםהשלישי והרבעי וכן הלאה .כמובן שעם אתה רוצה להציג את שמות הילדים ולא את תעודות הזהות שלהם אתה צריך לעשות JOIN לשאילתה התיצונית עם טבלת PERSON---עריכה----חשבתי קצת על מה ששאלת ונראה לי שהכוונה היתה פשוט להציג בזוגות את כל הילדים של הורה מסוים את זה אפשר לעשות ע"י SELF JOINמשהוא כזהSELECT a.parent_id, a.child_id, b.child_idFROM Parent AS a, Parent AS bWHERE (a.parent_id=b.parent_id) and (a.child_id<>b.child_id)השאילתה לא מושלמת כי היא תראה לי כל הורה עם הילדים שלו פעמים ואם יש לו 3 ילדים אז 6 פעמים(כל ילד יופיע פעם בצד ימין ופעם בצד שמאל).לא התאמצתי לפתור את זה כי עדין לא מבין בדיוק לאיזהתוצאה אתה צריך להגיע
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.