Sql server 2008 我已经创建了3个表,其中包含父表、子表和标记表,我想使用union查询将这三个表组合在一起

Sql server 2008 我已经创建了3个表,其中包含父表、子表和标记表,我想使用union查询将这三个表组合在一起,sql-server-2008,Sql Server 2008,在Parent表中: Id int (primary key), Firstname varchar(50), Email varchar(50) Mid int (primary key), Mark1 int, Mark2 int, Id(foreign key) Uid (primary key), Mark3 int, Id int (foreign key) 在Child表中: Id int (primary key), Firstname varchar(50), Email

Parent
表中:

Id int (primary key),
Firstname varchar(50),
Email varchar(50)
Mid int (primary key),
Mark1 int,
Mark2 int,
Id(foreign key)
Uid (primary key),
Mark3 int,
Id int (foreign key)
Child
表中:

Id int (primary key),
Firstname varchar(50),
Email varchar(50)
Mid int (primary key),
Mark1 int,
Mark2 int,
Id(foreign key)
Uid (primary key),
Mark3 int,
Id int (foreign key)
标记表中:

Id int (primary key),
Firstname varchar(50),
Email varchar(50)
Mid int (primary key),
Mark1 int,
Mark2 int,
Id(foreign key)
Uid (primary key),
Mark3 int,
Id int (foreign key)
我希望结果与使用联合查询类似:

Id Firstname Mark1 Mark2 Mark3
-- --------- ----- ----- -----
1   john      80    70    60

您需要联接表,而不是合并它们

SELECT p.ID, p.Firstname, c.Mark1, c.Mark2, m.Mark3
FROM Parent p
INNER JOIN Child c ON p.ID = c.ID
INNER JOIN Mark m ON p.ID = m.ID

这是一个典型的连接查询,但不是联合查询