שלום,
היה לי מקרה שבו
שדות מוצא+יעד היו מאותה טבלת מקור
ב-MySql עושים זאת כך :
1. אחרי הפסוקית Inner Join רושמים את שם הטבלה המקורית…רווח… ואז כינוי יחודי
כלומר,
במקרה שלנו , במשפט Inner Join הראשון הענקתי כינוי יחודי מסוים
ובמשפט Inner Join השני – הענקתי כינוי מסוים ***שונה***
2. אחרי הפסוקית ON, משתמשים בכינוי היחודי מהסעיף הקודם (בטבלה שאחרי הסימן = כמובן).
3. גם ברשימת השדות לתצוגה , משתמשים בכינויים היחודיים (ולא בשם הטבלה המקורי)
4. אחרי שם העמודה ברשימת השדות, צריך לתת לכל עמודה כינוי יחודי
אומנם ה-MySql WorkBench יודע להציג זאת, אבל אם תנסו להחזיר נתונים ב-php וכדומה …. זה יהיה בעיה
אם יהיו 2 עמודות עם אותו השם.
להלן דוגמא :
SELECT
t.travel_id,
t.travel_date,
t.travel_time,
tbl_customers.company_name,
t.travel_box
,tbl_lines.line_name
,t.customer_name
,t.quantity
,f1.location from1
,t1.location to1
FROM
tbl_travels t
INNER JOIN tbl_customers
ON t.company_id = tbl_customers.customer_id
INNER JOIN tbl_lines
ON t.line_id= tbl_lines.line_id
INNER JOIN tbl_locations f1
ON t.`from`= f1.location_id
INNER JOIN tbl_locations t1
ON t.`to`= t1.location_id