30-07-2005, 14:27
|
|
|
חבר מתאריך: 07.12.04
הודעות: 2,153
|
|
אני לא רוצה להגיד את זה ישירות כדי להשאיר את האתגר :)
אבל אני אתן לך דחיפה קטנה :
טוב, העיקרון הוא פשוט, המסד שלך לא אמור להכיל טבלה של נושאים וטבלה של תגובות אם זה מה שחשבת אלא פשוט טבלה של הודעות, כאשר יש שם שדה response_to, שכברירת המחדל יקבל 0, כלומר יהיה אשכול חדש. נגיד והגבנו להודעה שהID שלה הוא 2 אז הוא יקבל 2, עד כה הכל פשוט? יפה.
לא בדקתי לעומק אבל ממבט בפלט הייתי אומר שמה שעשו למשל בפרש זה טבלה חיצונית שכל הודעה נוסף עוד TR ויש בו 2 TD, הראשון קובע את ההזחה מהשוליים והשני הוא ההודעה. כלומר מה שאתה מעוניין זה רק לגלות כמה הזחות יש לעשות מהשוליים.
תוכל לבנות רקרוסיה שמקבלת 2 פרמטרים, הראשון הוא הID של ההודעה והשני הוא המונה של הריצות שלה, כך תוכל פשוט לעשות שבכל ריצה ירוץ SELECT על הID הבא של ההודעה ויגדיל את המונה ב-1. וכמובן על הפונקציה לקרוא לעצמה שוב (שכן זוהי מהות הרקורסיה ) אלא שהוא יקרא לה עם הפרמטרים של המונה המעודכן והID המעודכן, לבסוף היא תעשה return עם כמות ההזחה מהשוליים.
בהצלחה בתחביר!
|