שאילתא פשוטה

jojo

New member
שאילתא פשוטה../images/Emo140.gif

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

tberger

New member
UNION

לא ניתן בשאילתא אחת לראות את כל השדות מטבלה אחת ואת כל השדות מטבלה שנייה ולכן צריך להשתמש ב UNION.
SELECT Emp1.Id, Emp1.First_Name, Emp2.First_Name FROM Emp1 LEFT JOIN Emp2 ON Emp1.Id = Emp2.Id UNION SELECT Emp2.Id, Emp1.First_Name, Emp2.First_Name FROM Emp1 RIGHT JOIN Emp2 ON Emp1.Id = Emp2.Id;​
 

deja

New member
דוגמא (ב-SQL Server)

SELECT Emp1.Id, Emp1.First_Name, Emp2.First_Name FROM Emp1 FULL OUTER JOIN Emp2 ON Emp1.Id = Emp2.Id​
 

jojo

New member
הבעיה היא....

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

tberger

New member
אתה יכול לתת דוגמא קטנה

בקובץ . מה יש בכל טבלה ומה אתה רוצה לקבל.
 

תאמר

New member
Union ALL !!!!

אחרת מתבצעת בדיקת כפילויות שלוקחת המון זמן...
 

jojo

New member
מצורפת דוגמא../images/Emo22.gif

צרפתי דוגמא. כשמפעילים את השאילתא: הזהות מספר 1 מופיע לי 4 פעמים, בו בזמן שהיא מופיעה רק פעמיים בכל טבלה!! תודה.... משום מה נראה לי שדרישתי היא בלתי אפשרית באקסס... האם אני צודק??! נ.ב: ניסיתי את כל האפשרויות שהוצעו לי בפורום ולא הצלחתי....
 
למעלה