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
这是一个典型的连接查询,但不是联合查询