我有三个表,其中包含 Parent、Child、Marks
Posted
技术标签:
【中文标题】我有三个表,其中包含 Parent、Child、Marks【英文标题】:I have three tables which contains Parent,Child,Marks 【发布时间】:2017-08-16 14:58:26 【问题描述】:我想使用联接查询合并父子表并使用联合查询添加标记表,可以这样做吗?
在父表中:
Id int(primarykey),
Firstname varchar(50),
Email varchar(50)
在子表中:
Mid int(primarykey),
Mark1 int,
Mark2 int,
Id int(foreignkey)
在标记表中:
Uid int(primarykey),
Mark3 int,
Id int(foreignkey)
最后的结果应该是这样的:
Id Firstname Mark1 Mark2 Mark3
-- --------- ----- ----- -----
2 John 59 78 89
提前致谢。
【问题讨论】:
Child.Id 和 Mark.Id 是否与 Parent.Id 相关?您能否提供 Parent、Child 和 Mark 的示例数据?你不能使用 UNION 来得到你想要的。 UNION 将记录从具有相同模式的两个集合中追加到结果集中。您需要加入 Mark 表。 【参考方案1】:似乎这只需要在表格之间使用相当简单的join
?
select p.Id
,p.FirstName
,c.Mark1
,c.Mark2
,m.Mark3
from ParentTable as p
join ChildTable as c
on p.Id = c.Id
join MarkTable as m
on p.Id = m.Id;
【讨论】:
以上是关于我有三个表,其中包含 Parent、Child、Marks的主要内容,如果未能解决你的问题,请参考以下文章