![]() |
עזרה בשאילתת SQL
אוקיי יש לי טבלה, עם שלושה עמודות
id | DownloadID | CategoryID זאת בעצם טבלה שמקשרת בין טבלת ה Download לבין טבלת ה Category. ואני צריך לשלוף עכשיו רק את ה DownloadID שנמצא תחת קטגוריה מסויימת... אז במקרה כזה אני עושה WHERE CategoryID='$id'... אבל אני צריך לשלוף תוצאות שנמצאות תחת כמה קטגוריות שונות... נגיד יש לי את הנתונים הבאים: 3 | 1 | 1 4 | 1 | 2 כאילו DownloadID מספר 1 משתייך גם לקטגוריה 3 וגם לקטגוריה 4... עכשיו אני צריך שאילתה שתשלוף לי את ה1 הזה, הוא משתייך לכמה קטגוריות ואני צריך תוצאה אחת שלו... מקווה שהבנתם... תודה! |
אתה לא יכול לשלוף בבת אחת את זה,
תעשה לולאה שתעבור על הערכים |
אולי משהו כזה:
קוד:
SELECT DISTINCT t1.DownloadID FROM `yourtable` as t1, `yourtable` as t2 WHERE t1.CategoryID != t2.CategoryID; |
ציטוט:
ואתה יכול להשיג את אותה המטרה עם GROUP BY במקרה הזה קוד:
SELECT `DownloadID` FROM `table` GROUP BY `DownloadID` |
הבנתי שהוא רוצה להחזיר downloadid שמופיע בכמה קטגוריות.
וזה מה שהצעתי. |
היה לי מקודם טעות בשאילתה, אמור היה להיות:
קוד:
SELECT DISTINCT t1.DownloadID |
אני רוצה לקבל את הDownloadID מכמה ID של קטגוריות, עכשיו לא הבנתי ממש מה עשית בשאילתה... תודה!
|
אני לא יודע למה אני לא יכול לערוך, אבל אני רוצה נגיד לקבל את הID ששייך גם לקטגוריה מספר3 וקטגוריה מספר 4, ולא את הDownloadID ששיכים לכמה קטגוריות...
אני יכול להשתמש ב IN, נגיד: WHERE CategoryID IN (3, 4)... אבל זה ייתן לי תוצאות שהם או 3 או 4, אני צריך תוצאות שהם גם זה וגם זה... |
אולי משהו כזה:
קוד:
SELECT * |
אתה רוצה שהdownloadID ישתייך לכמה קטגוריות ושזה יציג רק פעם אחת כל קטגוריה?
|
כל הזמנים הם GMT +2. הזמן כעת הוא 11:11. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ