לא תאמינו .. שאלה ב ASP..

קיפוש

New member
לא תאמינו .. שאלה ב ASP..

יצרתי שדה שאמור להכיל את קהל היעד של הארוע שלי. הנוטה המליץ להכניס את זה ככה 1,2,3,4 כאשר כל מספר מציין סוג אחר בטבלה של קהלי היעד... השאלה לי מה הדרך הכי קצרה להציג בדף הארוע עצמו את קהלי היעד במילים.. (ולגבי הצבע של חדרי הקט.. זה כחול/סגול/אפור.. גימני אם ישאר צבע אני אשקול לתרום לדירתך החדשה
)
 

זהר פלד

New member
לא נכון... מה זאת אומרת שאלה ב ASP?

האמת היא שלא ממש הבנתי את השאלה שלך... וחוץ מזה, יש לך מזל שאתה לא צובע ב magenta...
 

קיפוש

New member
למה מזל?

יש לי לוח ארועים (אם היית עוקב היית יודע
) אחד מהשדות הוא קהל היעד (גברים נשים ילדים כלבים...) הנוטה הציע לי לאחסן שם מספרים מופרדים ב"," ואז לזהות אותם מהטבלה המתאימה... מה הדרך הטובה לשלוח את כולם משם?
 

זהר פלד

New member
דוקא כן עקבתי...

והבנתי שיש לך טבלה אחת עם מספרים, וטבלה שניה עם תיאורים... אתה רוצה להציג את התיאורים לפי המספרים, או מה?
 

קיפוש

New member
אכן

במידה ואני מקבל 2,3,4 אני אמור לעשות SPLIT ולהוציא אחד אחד???
 

זהר פלד

New member
אתה שולף בשתי שליפות נפרדות

אני מניח.. למה לעשות split כשאפשר לעשות in?
SELECT * FROM tbl WHERE column IN (1,2,3,7,9)​
לא יותר פשוט?
 

IgalR

New member
למה יש לך שדה שבו יש מידע מופרד

נראה לי שאתה צריך להוסיף טבלה נוספת שתיצור לך קשר של רבים לרבים .
 

קיפוש

New member
למה צריך לריב על כל דבר?

רבים = ריב.. לא ממש מצחיק אה.. בכל מקרה לא ממש הבנתי אותך, ברשותך חזור שנית.. רות סוף..
 

IgalR

New member
אם אני מבין נכון

בכל ארוע יכולים להשתתף מספר קבוצות המיוצגות באמצעות קוד ?
 

IgalR

New member
משום מה לא מתווספות ההודעות שלי עם

קבצים . בכל אופן אמורות לך שלוש טבלאות : טבלת ארועים טבלת קבוצות וטבלה שתקשר את שתי הטבלאות .
 

IgalR

New member
טעות קטנה

הקישור אמור להיות בין fldEventId לבין fldEventId כמובן ולא ל fldEvent
 

IgalR

New member
והנה דוגמה שלאילתה השולפת

את שמות הקבוצות לארוע שמספרו 1
SELECT tblEvents.fldEvent, tblGroups.fldGroupName FROM tblEvents INNER JOIN (tblGroups INNER JOIN tblGroupEvents ON tblGroups.fldGroupId = tblGroupEvents.fldGroupId) ON tblEvents.fldEventId = tblGroupEvents.fldEventId WHERE (((tblEvents.fldEventId)=1));​
 

קיפוש

New member
למה צריך טבלה שלישית...

אפשר פשוט לשלוף את זה בדף ה ASP לא?
 

IgalR

New member
מאותה הסיבה שצריך טבלה שניה .

1) לדוגמה : אתה רוצה להציג את הארועים ליום מסויים ובאותו היום יש 50 ארועים . בשיטה של שתי טבלאות (השיטה הלא נכונה ) אתה תבצע שאילתה אחת לפי תאריך על הארועים ואח"כ תבצע 50 שאילתות על הקבוצות . 2) או נניח שתרצה לשלוף את כל הארועים לקבוצה מסויימת . אם יש לך שתי טבלאות בטח חשבת על ביצוע החיפוש באמצעות LIKE על שדה טקסט שזו השיטה הכי איטית לביצוע שאילתות . 3) הסיבה האחרונה היא שככה כתוב בכל הספרים וזו השיטה ליישם קשר של רבים לרבים .
 

קיפוש

New member
אוקיי.. אז ברשותך...

מה בדיוק אני אמור להכניס לטבלה השלישית?
 

דלילה

New member
צריך להכניס את הקשרים

טבלה עם 2 שדות - שדה של קודים מהטבלה הראשונה והשדה השני - הקודים של הטבלה השניה וכך ממשים את הקישורים שבניהם... בכל רשומה - קוד מטבלה אחת עם הקוד המתאים לו בטבלה השניה...
 

IgalR

New member
את הקשרים בין EVENTS לבין GROUPS

תראה את תמונת הקשרים ותבין איזה שדות יש שם . לדוגמה אם בארוע מספר 1 משתתפים הקבוצות הבאות : 1,2,5,7 ובארוע מס 2 הקבוצות : 3,2,5 ובארוע 19 הקבוצה 2 תוכן הטבלה יראה כך : 1 2 1 1 1 5 1 7 2 3 2 2 2 5 19 2 בטבלה יהיו רק מספרי הID . אגב זה יפשט לך מספר פעולות נוספות : לדוגמה אם תרצה להוסיף לכל הארועים קבוצה מסויימת לדוגמה יש מספר ארועים של חזרות למסיבת סיום של בית ספר ואתה רוצה להוסיף לכל החזרות את קבוצה מספר 5 בשיטה שלך תצטרך לעבור על כל הרשומות ולהוסיף למחרוזת הקבוצות את הספרה 5 ואח"כ לעדכן אני כבר לא רוצה לחשוב מה יקרה אם נניח בחלק מהארועים קבוצה 5 כבר קיימת . רוצה עוד מקרה שיעמדו לך הדורבנים ? נגיד שיש לך מספר ארועים שבהם משתתפת קבוצה מסויימת והקבוצה ביטלה ולא יכולה להגיע מה תעשה ? כשיש קשרים רבים לרבים פשוט מוחקים מטבלת הקשרים וזהו .
 
למעלה