1.3.12. INNER JOINנציג כעת נושא חדש – איחוד טבלאות. ניזכר בבסיס הנתונים שראינו בדוגמא בפרק 1.2. הטבלאות הינן:
לשתי טבלאות שדה "משותף" – Users.UserID מתאים ל-Files.Owner. נניח כעת כי אנחנו רוצים לעשות שאילתה שתחזיר לנו טבלה חדשה, שתכיל עבור כל קובץ את ה-ID שלו, את ה-path, ובנוסף את שם המשתמש המתאים לו. מה שאנחנו בעצם רוצים לבצע זה איחוד של הטבלאות לפי שדה מסויים. נעשה זאת על ידי המילה INNER JOIN. עבור הדוגמא ההיא, נכתוב: SELECT Files.FileID, Files.FullPath, Users.UserName FROM Users INNER JOIN Files ON Users.UserID = Files.Owner; והתוצאה:
Inner Join מחזיר תוצאות משתי הטבלאות עבורן יש התאמה. אם יש שורה עבורה אין התאמה בטבלאות, היא לא תוחזר. תחביר נוסף ל-inner join הוא כזה: SELECT Files.FileID, Files.FullPath, Users.UserName FROM Users, Files WHERE Users.UserID = Files.Owner; לא מצליחהאיך משתמשיםפ במקס ומינ1.3.1.3. שליפת נתונים ממספר טבלאותהייהפקודה הזו לא עובדת... מה לא בסדר? לפעמים שורף לי בתחת, מה עושים?אני רואה שזה פורסם ב-2005האם זה רלוונטי להיום?תודההורדתי ועברתי על על הכל.עזר לי מאוד תודה רבהsubqueriesIn the 2nd example for WHERE subqeiry, can I use the word AND in the condition,If so, how? thank you UPDATEIs the word TABLE in the UPDATE statement necessaryif so, why is it necessary in the #2nd example and not in the 1st Can I use UPDATE table_name SET col1=val1, col2=val2, ... WHERE condition Thank you CREATE TABLEלא צריך להגדיר איפהשהו מפתח ראשי ומפתח זר? איך אחרת יוצרים קשרים בין הטבלאות? שם עמודה זהה זה מספיק ליצירת קשר?תודה רבה! Whereבטבלה מס 1 יש לי שדה עם פקד של תיבה משולבת.אני רוצה להציב בקרטריון של התיבה המשולבת תנאי :- שיבחרו בטבלה אחרת מס 2 רק הרשומות ששדה מסויים שלהם שווה לערך של שדה בטבלה 1 הנמצא באותה רשומה של הפקד. האם אפשר להציב בתנאי הקריטריון (בפקודת WHERE ) לא רק השוואה לרשימה של נתונים קבועים מראש, אלא גם השוואה למשתנה שנגזר Nרשומה ושדה מסויימים. איך כותבים את זה ב- SQL ? יצירת שאילתת SQL מתוך טופסלכ' ניר אדר שלום !אני רצה ליצור שאילתת SQL מתוך טופס באכסס בארוע בעת לחיצה של פקד ואני לא מצליח להבין את כללי התחביר. למשל השאילתה הזו שכתבו לי אותה ובמקום להעברי נתונים לטבלה fordoh אני רוצה פשוט לבנות שאילתה רגילה ושתהא בסיס לדוחות שלי אז במקום Select *INTO fordoh ליצור שאילתה חדשה שמקבלת את הפרמטרים מהטופס Dim WhereCond As String WhereCond = " Where 1=1 " Dim myqry As QueryDef Set myqry = CurrentDb.QueryDefs("creattableforreports") myqry.sql = "Select *INTO fordoh from Forcreatreport " & WhereCond DoCmd.SetWarnings False DoCmd.OpenQuery "creattableforreports", , acReadOnly תודה לעוזרים מאת : מאיר mc12@netvision.net.il כללי התחביר של כתיבת השאילה בתוך פקד בטופסבבקשה ,בבקשה מכם תעזרו לי אני כל הזמן מסתבך ובעצם אף פעם אני לא מצליח לכתוב שגרה שמכילה שאילתת SQL , אני הולך לשאילתה לעיצוב שאילתה קיימת בתצוגת SQL ,מעתיק את התוכן ללוחהולך לטופס ומדביק את התוכן לתוך אירוע בעת לחיצה ואז אני מקבל את כל השורות שהדבקתי ל אדום ,אני לא מצליח להבין את כללי התחביר של כתיבת שאילתת SQL . התוכלו לעזור לי ? מאיר = mc12@netvision.net.il אלף תודות לכם innerjoinאין כאן באמת הסברתודה על הכל ,פשוט אין מילים ...הכל מובן וכתוב בצורה יפה .. :)תודה על המידע אני מבין יותר בזכות האתר ..כל הכבוד ליוצר האתר :) תודהאין מילים הכל ברור ומסביר ברמהזה רק סיכום =.=אני מחפש מדריך שילמד את השפה .. לא שיסביר אליה.תודה רבה - שמחים לעזור לכולם ללמוד SQL:)הסברים מצויניםהתוכן מעולה וההסברים טוביםניר אדר- ממש ממש תודה !אני כרגע לומד SQL, ונעזרתי המון בהסברים המצוינים הלאורציתי להגיד תודה ושאתה עושה עבודת קודש |
תוכן העניינים:
קישורים רלוונטיים:שיתוף: |
שם