( تعداد نمایش : 2112 )

Join کردن بیش از ۲ جدول برای Database های Access

کتاب ColdFusion MX Bible برای Join کردن بیش از دو جدول یک بانک اطلاعاتی راه حل زیر را پیشنهاد می کند:

SELECT
c.CompanyID,
c.CompanyName,
e.LastName,
e.FirstName,
e.Salary,
d.FullName,
d.RelationShip
FROM
Company c INNER JOIN Employee e
ON c.CompanyID = e.CompanyID
INNER JOIN Dependant d
ON e.SSN = d.SSN

که در بیشتر برنامه های Database Server درست عمل می کند.
اما در بانکهای اطلاعاتی Microsoft Access پیغام خطایی با توضیح زیر می دهد :

Operator expected

من پس از یک کم جستجو در کتاب ها و پرسش از دیگران ، یک دوست آمریکایی من راه حل زیر را پیشنهاد داد. در اکسس در برخی قسمت ها وجو د پارانتز الزامی است با اینکه در انواع دیگر بانک های اطلاعاتی نیازی به آن پارانتز ها نیست.  یعنی کد مورد نظر را باید به صورت زیر باز نویسی کنیم :

SELECT
c.CompanyID,
c.CompanyName,
e.LastName,
e.FirstName,
e.Salary,
d.FullName,
d.RelationShip
FROM
(Company c INNER JOIN Employee e
ON c.CompanyID = e.CompanyID)
INNER JOIN Dependant d
ON e.SSN = d.SSN

و یک نمونه ی دیگر در اتصال ۴ جدول :

SELECT
cfarticle.id,
cfarticle.title,
cfarticle.description,
cfarticle.dateadded,
editorial.authorname as author,
categories.name,
levels.levelname
FROM
((cfarticle INNER JOIN categories ON cfarticle.category=categories.id)
INNER JOIN editorial ON cfarticle.author=editorial.id)
INNER JOIN levels ON cfarticle.skllevel=levels.id

دیدگاه خود را بیان کنید.

باید وارد سایت شده باشید برای دیدگاه دادن