Можно ли сделать 3 таблицы соединения в MS-Access? - PullRequest
2 голосов
/ 30 апреля 2010

Я пытаюсь сделать соединение с 3 таблицами в Access, и оно не будет работать.Является ли это возможным?

Ответы [ 4 ]

8 голосов
/ 30 апреля 2010

Все различные типы объединений с несколькими таблицами, которые доступны в другом варианте SQL, разрешены в MS-Access / Jet. Например, вот прямой иерархический пример с тремя таблицами (немного более реальный, чем другие ответы здесь):

SELECT
    x.FirstName,
    x.Surname,
    r.RegionName,
    c.CountryName
FROM
    (Customer x LEFT JOIN Region r
    ON r.ID=x.RegionID)
    LEFT JOIN Country c
    ON c.ID=r.CountryID

Или вы хотите знать, как это сделать с помощью Visual Designer в MS-Access?

6 голосов
/ 30 апреля 2010

У меня однажды была проблема, когда я пытался

select
  x,
  y
from 
  A        inner join
  B on k=l inner join
  C on f=g

Это не сработало. Но это работает с паратезами:

select
  x,
  y
from ( 
  A          inner join
  B on k=l ) inner join
  C on f=g
2 голосов
/ 30 апреля 2010

Да, это возможно:

Select *
From A, B, C
Where A.a = B.b
And A.c = C.c

или

Select *
From A, B, C
Where A.a = B.b
And B.c = C.c
1 голос
/ 30 апреля 2010

Access может выполнять большинство типов объединений (кроме полного внешнего). Интересно, с вашим объединением в 3 таблицы, если вы делаете неоднозначное внешнее объединение? Посмотрите на эту статью базы знаний для объяснения

support.microsoft.com / кб / 124937

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...