527
צפיות
צפיות
6
תשובות
תשובות
שאלה על שליפה ממסד הנתונים ב ASP
האם ניתן לבצע באותו זמן שליפה מאותה טבלה לפי שני תנאים שונים?
נגיד אני בונה פורום וכל ההודעות נמצאות בטבלת topics, אז תחילה אני רוצה לשלוף את כל ההודעות הקיימות ולהציג את הכותרת שלהן, אך באותו זמן אני רוצה להפעיל גם תנאי שישלוף לכל הודעה את התגובה האחרונה שלה ויציג אותה גם.
כיצד?
6 תשובות
לא ברור
תיאור הטבלה יוכל לעזור (אילו עמודות יש בה)
אז ככה
בדף הראשי של הפורום, forum.asp אני שולף את כל הרשונות מטבלת ה topics.
הטבלה מורכבת מ:
id
headline
body
username
forum_id
comments
father_id
בדף forum.asp אני מציג רק את הכותרת ושם המשתמש, כמובן שה father_id=0 ושהם מתאימים לפורום הנ"ל.
אבל….
יש לי עמודה בדף forum.asp של "תגובה אחרונה", ששם אני רוצה לשים את התגובה האחרונה שפורסמה בנושא מסוים, ואם אין תגובה אז פשוט לשים את ההודעה עצמה.
אני בעצם רוצה שיהיה כתוב "התגובה האחרונה בנושא פורסמה ע"י xxxx בתאריך yyyy" ולשים קישור לתגובה.
הבעיה שלי שאני כאילו צריך לשלוף פעמיים מאותה טבלה, פעם רק את הכותרת וזה, ולסדר את זה בסדר הרצוי לי, ועוד פעם לדאוג לשלוף רק את התגובה האחרונה בכל נושא…
איך עושים את זה?
עוד פרטים
1. לא הבנתי איפה שמור תאריך.
2. איך אתה מתכוון לשלוף את האחרונה בכל נושא, אחרונה נגיד לפי התאריך (אחרי שעברנו את 1) איפה מצויין נושא? או שאתה מתכוון לרוץ על כל הטבלה ולראות מי לא נמצא בעמודת ה father_id של אף אחד, ואחרי זה להבין למי אלו שקיבלת שייכים (לרוץ מ father_id ל father_id עד שתמצא את הראשון)
אם תוסיף עמודה של הנושא, עמודת תאריך החיים יהיו יותר פשוטים
(אם אתה ממש לחוץ על מקום אפשר להשתמש ב ID במקום תאריך בהנחה ש ID גדל לפי הסדר, אבל אז אין לך תאריך הודעה yyyy, או לחילופין להשתמש כ ID בתאריך עם מילי-שניות, לא בטוח שזה חכם)
הטבלאה במלואה
הנה טבלת ה topics שלי במלואה:
————————————
id
headline
body
time
username
forum_id
comments
father_id
————————————-
בעמוד forum.asp אני שולף נתונים מכל זה, כדי לרשום את הכותרת, שם המחבר, מספר תגובות, ועכשו אני רוצה להוסיף את זמן התגובה האחרונה, וע"י מי.
ומי האחרונה
עוד לא הבנתי איך אתה יודע מהי ההודעה האחרונה באשכול?
בעיקרון, אם אתה יכול לבנות את זה כשני שאיתלות נפרדות אז האפשרויות הם אם לעבוד עם שני רקורד סט נפרדים או לעשות את זה כתת שאילתא, וזו כבר שאלה של עדיפות, מקובל לומר שעדיף להעמיס על שרת הDB
ככה
נגיד בהודעה שה id שלה 1, והיא נמצאת בפורום מספר 1, אז אני אלך לכל ההודעות שה father_id=1 ושה forum_id=1 ואז אני יוציא max לתאריך.