Chris Knipe wrote:
Hi,

Is it possible to left join the same data twice?

Yes.

TBL ONE:
LocationID Location, varchar(100)


TBL TWO:
DepartureID,
ArrivalID,
Time

SELECT tlb1.DepartureLocation AS Departure, tbl1.DepartureLocation AS Destination LEFT JOIN DepartureLocation ON tlb2.DepartureID=tlb1.LocationID LEFT JOIN DepartureLocation ON tbl2.ArrivalID=tbl1.LocationID ORDER BY tbl2.Time etc etc etc


I get

ERROR 1066 (42000): Not unique table/alias: 'tbl1'

The statement above looks a bit strange, there is no FROM clause, and there seems to be 4 tables involved, named tbl1, tlb1, tbl2 and tlb2? According to your table description above, there is no column named "DepartureLocation"? According to the query, it seems like a table has that name?


I'll pretend you have two tables named tbl1 and tbl2, containing the columns you described above:

tbl1: LocationID, Location
tbl2: DepartureID, ArrivalID, Time

Then try something like this:

SELECT Departure.Location, Arrival.Location AS Destination, Time
  FROM tbl2
  LEFT JOIN tbl1 AS Departure ON
    Departure.LocationID = DepartureID
  LEFT JOIN tbl1 AS Arrival ON
    Arrival.LocationID = ArrivalID
  ORDER BY Time

Note that there are two different uses of alias in this statementtable alias and column alias: the table "tbl1" is aliased twice, to "Departure" and "Arrival". Aliasing a table is necessary to be able to join the same table multiple times. The "Arrival.Location" column is aliased to "Destination". This is necessary to avoid two columns from having the same name, in this case both columns would have been named "Location".

--
Roger


-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to