
28-01-2009, 09:56
|
|
|
|
חבר מתאריך: 21.02.06
הודעות: 6
|
|
בתגובה להודעה מספר 1 שנכתבה על ידי xZiPeR שמתחילה ב "טבלה וירטואלית שעמודותיה הן רשומות בטבלה אחרת."
join אני מכיר היטב ולא נראה לי שאפשר לעשות עם זה מה שאני רוצה, אבל אם יש דרך זה מעולה 
Crosstab אני לא מכיר, תוכלו להפנות אותי למשהו שיעזור לי עם הנושא שלי ?
ובכל מקרה אצרף הבהרה למה שאני רוצה לעשות בעזרת דוגמה - נניח ויש לי אתר של חנות, שבחנות יש מספר קטגוריות של מוצרים. בין הקטגוריות קיימים למשל "כרטיסי מסך" ו"מכוניות". ברור שיש כמה שדות שמשוייכים לכל מוצר במערכת (למשל מחיר או קוד מוצר), אבל ברור גם שהדברים שבהם משווים מכוניות (דגם, חברה, נפח מנוע או מספר צילינדרים) הם לא הדברים שבהם משווים כרטיסי מסך (מתח עבודה, זיכרון, ליבה וכן האלה).
הרעיון הכללי לייצג את הדברים הנ"ל בטבלאות כך שתשאר גמישות בנוגע להוספה של קטגוריות חדשות וכן עריכה של הפרטים שאמורים להיות בכל קטגוריה הוא ע"י מספר טבלאות:
1. טבלת קטגוריות פשוטה (שם, מספר וכו').
2. טבלת מוצרים פשוטה (מספר, מספר קטגוריה [נניח שכל מוצר משתייך לאחת בלבד], מחיר).
ועכשיו הגענו לחלק הטריקי, הייצוג שבחרתי לשדות המותאמים הוא כזה (אם יש שיטה טובה יותר מה טוב):
3. טבלת שדות (שם שדה, סוג ערכים מתקבלים [מספר, מחרוזת ..], מספר קטגוריה [כל שדה שייך לקטגוריה אחת], ונגיד גם ערך ברירת מחדל).
4. טבלת ערכים לשדות המותאמים (מספר שדה [מ3], מספר מוצר רלוונטי [מ2] וכן ערך השדה כמובן).
עכשיו בסופו של דבר אני לא רוצה להתעסק עם כל הטבלאות, אני רוצה לבחור קטגוריה, ושתוצג לי טבלה אחת פשוטה שבה יש עבור כל מוצר בקטגוריה את המספר שלו, את המחיר שלו [מטבלה 2 עצמה], ובנוסף את השדות המותאמים שלו בהתאם לקטגוריה, וכן הערכים שלהם [מ4 בהצלבה עם 3].
מקווה שהדוגמה הקונקרטית עזרה להבנה [אף על פי שהיתה אורכה, ולמען האמת הדוגמה הספציפית הזו היא ממש לא מה שאני עושה, אבל זה דיי דומה מבחינת קונספט]
תודה 
עריכה: אגב הצלחתי לעשות זאת באופן חלקי בלבד ע"י יצירת שאילתת הsql באופן דינמי, אבל זה לא עובר קומפילציה בצורה זו, וכן - זה מגביל אותי מאוד.
נערך לאחרונה ע"י xZiPeR בתאריך 28-01-2009 בשעה 10:13.
|