Neil Tompkins wrote:
I've the following SQL statement which I created in MS Access. My table
layout is the same in mySQL but it says I have an error and the query
doesn't run
SELECT AccommodationOverview.Title,
AccommodationOverview.AccommodationOverviewID,
AccommodationOverview.AccommodationID, Areas.Name
FROM AccommodationOverview INNER JOIN (AccommodationAreas INNER JOIN
Areas ON AccommodationAreas.AreasID = Areas.AreasID) ON
AccommodationOverview.AccommodationID = AccommodationAreas.AccommodationID
WHERE (((AccommodationAreas.AreasID)='58') AND
((AccommodationOverview.AccommodationOverviewID)='ENG') AND
((AccommodationOverview.AccommodationID)<>'1'))
First guess, remove the ()'s around the inner join and anything else
unnecessary.
You don't need them around each field in the where clause, it's too
confusing.
2nd thing learn about table aliases :)
SELECT o.Title, o.AccommodationOverviewID, o.AccommodationID, a.Name
FROM
AccommodationOverview o, AccommodationAreas aa, Areas a
WHERE
aa.AreasID=a.AreasID AND
o.AccommodationID = aa.AccommodationID AND
aa.AreasID=58 AND
o.AccommodationOverviewID = 'ENG' AND
o.AccommodationID <> '1'
Much easier to read (and should fix the error) :)
--
Postgresql & php tutorials
http://www.designmagick.com/
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]