如何表明我想要执行五个表的连接,指定FROM子句后面有两个表

时间:2017-09-26 02:39:23

标签: sql sql-server

我试图在五个表(人,家庭,性别,关系和家庭)之间进行联接。我可以通过下面的第一个查询加入人,家庭,性别和关系,但在尝试加入家庭表有外键的第五个表家庭时会遇到困难。我想我的主要问题是确定在这种情况下使用的正确语法,因为人员表引用了所有其他表,如下面的第一个查询中所示,除了家庭表,家庭表被家庭表引用。 /> 我已经包含了我在尝试加入家庭表时尝试的查询(查询#2)。任何帮助表示赞赏。提前谢谢。

查询#1:

SELECT person.Id, person.firstName, person.lastName, person.birthdate, gender.gender, family.id, Relationship.description
FROM (((person
INNER JOIN gender on person.gender = gender.Id)
INNER JOIN family on person.idFamily = family.Id)
INNER JOIN Relationship on person.capRelationship = Relationship.id);

查询#2:

SELECT person.Id, person.firstName, person.lastName, person.birthdate, gender.gender, family.id, Relationship.description
FROM person, family
INNER JOIN gender on person.gender = gender.Id)
INNER JOIN family on person.idFamily = family.Id)
INNER JOIN Relationship on person.capRelationship = Relationship.id)
INNER JOIN household on family.idHousehold = household.id;

2 个答案:

答案 0 :(得分:0)

我认为这可能是括号中的问题,第一张表显示了人,家庭。请参阅下面的更新查询。

fade-in

答案 1 :(得分:0)

从查询#2中的前三个内部联接中删除")" 。我相信这会解决你的问题。

顺便说一句,如果你使用的是sql server management studio,你不必使用&#34 ;;"