עבור לתוכן

סידור תוצאות בMYSQL

Featured Replies

פורסם

יש לי טבלה עם 3 טורים

1. id

2. name

3. parent_id

עכשיו אני רוצה Query שתחזיר לי את כל הטבלה כאשר מתחת לכל ID יש את כל השורות שהID הרלוונטי כתוב להם בParent_id.

אפשרי?

תודה רבה

פורסם

כמה רמות יש בטבלה? האם לכל שורה יכולה להיות רק רמה אחת מעליה או שיש גם אבא של אבא וכן הלאה?

פורסם
  • מחבר

רק רמה 1

פורסם

תנסה:


Select id,parent_id,name
From `mytable`
Order By Coalesce(parent_id, id),
Coalesce(parent_id, 0), name

פורסם
  • מחבר

לא עובד. הוא מחזיר קודם את כל ה"הורים" ואז את הילדים (יש לי כרגע ילד אחד אבל מבחינת הID הוא אמור להיות באמצע והוא חוזר בסוף)

פורסם

אני לא הבנתי בדיוק מה אתה רוצה- אבל זה נשמע לי כאילו אתה צריך לפצל את זה לשתי טבלאות.

פורסם

לכל בן יש אבא אחד לכל היותר, ככה שעוד טבלה לא תעזור כאן.

פורסם

אז אם אתה לא מצליח דרך שאילתה למה שלא לנסות דרך PHP או ASP או מה שאתה לא משתמש בו?

פורסם
  • מחבר

אין בעיה לעשות את זה עם PHP אבל חייב להיות פתרון יותר פשוט

אף פעם לא הייתי מומחה גדול לMYSQL אבל אני יודע שהוא מסוגל לעשות דברים די מורכבים

פורסם

SQL לא ממש מאפשר להחזיר תוצאות היררכיות. דהיינו, אי אפשר להחזיר רשומה שאחת השדות שלה היא גם כן רשימה בפני עצמה.

ארכיון

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

דיונים חדשים