2013-10-24 3 views
0

У меня есть 3 стола.Как присоединиться к 3 таблицам по одному запросу sql?

Table1: Group_Code, Group_Name,companyID;(PK: Group_Code) 
Table2: PartyID,GroupID,companyID;(FK: GroupID, PK:PartyID) 
Table3: VendorID, companyID;(FK:VendorID) 

Я хочу получать Group_Name от Table1 для всех VendorID из Table3. Как я могу это сделать?

здесь я пишу код. Но это показывает "Syntex error in FROM clause." Моя база данных находится в ms-доступе.

select Group_Name from Table1 join Table2 on Table1.Group_Code= Table2.GroupID 
join Table3 on Table2.PartyID=Table3.VendorID 
+2

'Table1 .Group_Code' Почему пространства? –

+0

извините. это пробелы для ввода ошибки. Я редактирую вопрос. Показывает ту же ошибку –

+0

&& это не syntex, это ошибка SYNTAX –

ответ

0
SELECT table1.group_name FROM table1 join table2 
        ON table1.group_code=table2.groupid 
         join table3 ON table2.partyid=table3.vendorid 

error becoz you didnt take the group name DB instance ? 
+0

:: Такая же ошибка. Ошибка Syntex в предложении FROM. Моя база данных в MS ACCESS не на сервере Sql –

+0

мой плохой !! не возражаете ли вы попробовать мой другой ответ? –

1
select Group_Name from Table1 
join Table2 on Table1.Group_Code= Table2.GroupID 
join Table3 on Table2.Party_Id=Table3.VendorID 

Table2.Party_Id должен быть Table2.PartyID

+0

JET требует скобок везде. http://stackoverflow.com/a/7855015/242520 –

0

Вы можете сделать это:

select Table1.Group_Name, Table3.VendorID from Table1 join Table2 on Table1.Group_Code= Table2.GroupID join Table3 on Table2.PartyID =Table3.VendorID 

Если вы данные были сохранены в правильных отношениях. запрос должен вас поймать. :)

+0

:: Я правильно отношусь. Но это показывает «Ошибка Syntex в предложении FROM». Моя база данных находится в доступе –

1

попробуйте это !!!

SELECT table1.group_name FROM (table1 
    INNER JOIN ON table1.group_code=table2.groupid) 
     INNER JOIN table3 ON table2.partyid=table3.vendorid 

    GROUP BY table1.group_name 
+0

Закрыть, но '()' находятся в неправильном месте. –

+0

как насчет этого? –

+0

Это выглядит правильно. –

0

использовать этот код для вопроса,

Select Table1.Group_Name from ((Table1 
left join Table2 on Table1.Group_Code=Table2.GroupID) 
left join Table3 on Table2.PartyID=Table3.VendorID) 
+0

-1 [Не хватает скобок] (http://stackoverflow.com/a/7855015/242520) –

+0

теперь этот запрос был исправлен. – kasim

Смежные вопросы