הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה עם MySQL (https://hosts.co.il/forums/showthread.php?t=61317)

TopSite 27-03-08 13:39

עזרה עם MySQL
 
שלום,
אני מנסה לבצע שאילתה שמעולם לא ניסיתי ולכן אני זקוק לעזרתכם.

יש לי 2 טבלאות לצורך העיניין:
טבלה A, מכילה את השדות ID, Name
טבלה B, מכילה את השדות ID, Name, Parent_ID

טבלה A מיועדת להחזקת קטגוריות ואילו טבלה B מחזיקה מוצרים.
הקשר בין הטבלאות הוא שכל רשומת מוצרים מחזיקה ב-B.Parent_ID את הA.ID של הקטגוריה אשר אלייה היא משתייכת.
ככה למשל אם רוצים לשלוף את כל המוצרים השייכים לקטגוריה עם ID=1 שולפים את כל המוצרים מטבלה B כאשר הערך בParent_ID שווה ל-1.

השאילתה שאני מעוניין לבצע היא כזו:
למשוך את כל השדות מA, כלומר את כל הקטגוריות ובנוסף לספור כמה מוצרים בטבלה B יש לכל קטגוריה.

ניתן לבצע את זה ב2 שאילתות ושימוש בPHP אבל אני בטוח שיש משהו יותר אלגנטי ויעיל בMySQL.

daMn 27-03-08 14:45

משהו בסגנון הזה אני מאמין יעזור לך..
PHP קוד:

SELECT A.IDA.NameCOUNT(B.Parent_ID)
FROM AB
WHERE B
.Parent_ID A.ID 


TopSite 27-03-08 15:44

PHP קוד:

פיתרון למעוניינים:
SELECT *, numOfProducts AS (SELECT COUNT(*) FROM B WHERE B.Parent_ID=FROM A 


TopSite 28-03-08 01:54

אגב, הבעיה עדיין קיימת, אני משתמש בגירסא 4.0.23
Sub Select קיים רק בגרסא 4.1.* ומעלה

אשמח לפתרון אחר.


כל הזמנים הם GMT +2. הזמן כעת הוא 21:02.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ