如何表明我要执行五个表的联接,以指定从子句之后有两个表



我正在尝试在五个表(人,家庭,性别,关系和家庭)之间执行连接。我能够与以下第一个查询一起加入个人,家庭,性别以及关系,但是在尝试加入第五张桌子的家庭时很难,家庭桌子上有一个外钥匙。我想我的主要问题是确定在这种情况下要使用的正确语法,因为人表参考了下面的第一个查询中所有其他表格,除了家用表外,家庭表被家庭表所引用的家用表。
我在尝试加入家用表(查询#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;

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

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
INNER JOIN household on family.idHousehold = household.id;

从您的查询#2中的前三个内连接中删除")" 。我确实相信这将解决您的问题。

顺便说一句,您不必使用";" 如果您使用的是SQL Server Management Studio。

最新更新