1.3.12. INNER JOIN

נציג כעת נושא חדש – איחוד טבלאות.

ניזכר בבסיס הנתונים שראינו בדוגמא בפרק ‏1.2. הטבלאות הינן:

Users

UserID

UserName

Password

FullName

1

admin

hg&g2hj

Administrator

2

underwar

123456

Nir Adar

3

avi

aviavi

Avi Cohen

4

RPG

rpg2kill

Rotem Grosman

Files

FileID

Owner

FullPath

Description

1

2

C:\nir\tr.mp3

Cool music

2

2

C:\nir\html.doc

Document about the HTML Language

3

2

C:\nir\pass.txt

My passwords list - keep private!

4

4

C:\rpg\שירה_אילמת.txt

none

לשתי טבלאות שדה "משותף" – 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;

והתוצאה:

FileID

FullPath

UserName

1

C:\nir\tr.mp3

underwar

2

C:\nir\html.doc

underwar

3

C:\nir\pass.txt

underwar

4

C:\rpg\שירה_אילמת.txt

RPG



Inner Join מחזיר תוצאות משתי הטבלאות עבורן יש התאמה. אם יש שורה עבורה אין התאמה בטבלאות, היא לא תוחזר.

תחביר נוסף ל-inner join הוא כזה:

SELECT Files.FileID, Files.FullPath, Users.UserName

FROM Users, Files WHERE Users.UserID = Files.Owner;

מאת: רוזית

שם

מאת: אני

לא מצליחה

איך משתמשיםפ במקס ומינ
מאת: לימור

1.3.1.3. שליפת נתונים ממספר טבלאות

היי
הפקודה הזו לא עובדת... מה לא בסדר?
מאת: חיים

לפעמים שורף לי בתחת, מה עושים?

מאת: דני

אני רואה שזה פורסם ב-2005

האם זה רלוונטי להיום?
מאת: AA

תודה

הורדתי ועברתי על על הכל.עזר לי מאוד תודה רבה
מאת: Adi

subqueries

In the 2nd example for WHERE subqeiry, can I use the word AND in the condition,
If so, how?

thank you
מאת: Adi

UPDATE

Is the word TABLE in the UPDATE statement necessary
if 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
אלף תודות לכם
מאת: tamar

innerjoin

אין כאן באמת הסבר
מאת: בני

תודה על הכל ,פשוט אין מילים ...הכל מובן וכתוב בצורה יפה .. :)

תודה על המידע אני מבין יותר בזכות האתר ..
כל הכבוד ליוצר האתר :)
מאת: חדשה

תודה

אין מילים הכל ברור ומסביר ברמה
מאת: דניאל

זה רק סיכום =.=

אני מחפש מדריך שילמד את השפה .. לא שיסביר אליה.
מאת: shoshan

תודה רבה - שמחים לעזור לכולם ללמוד SQL

:)
מאת: יניב

הסברים מצוינים

התוכן מעולה וההסברים טובים
מאת: מרוצה

ניר אדר- ממש ממש תודה !

אני כרגע לומד SQL, ונעזרתי המון בהסברים המצוינים הלאו
רציתי להגיד תודה ושאתה עושה עבודת קודש
שיתוף:
| עוד