Sql server 2012 通过辅助表链接到主表检索匹配数据的SQL查询
我有一个包含4个表的SQL Server数据库 第一个表包含具有主键的名称列表:Sql server 2012 通过辅助表链接到主表检索匹配数据的SQL查询,sql-server-2012,Sql Server 2012,我有一个包含4个表的SQL Server数据库 第一个表包含具有主键的名称列表: id1 Name --------------- 1 ABC 2 XYZ 第二个表的外键指向具有相关属性的第一个表 id2 Properties id1 ----------------------- 1 P1 1 2 P2 1 3 P3 1 4 P2
id1 Name
---------------
1 ABC
2 XYZ
第二个表的外键指向具有相关属性的第一个表
id2 Properties id1
-----------------------
1 P1 1
2 P2 1
3 P3 1
4 P2 2
5 P3 2
6 P5 2
第三个表包含一些任务:
id3 task
-----------
1 T1
2 T2
第四个表任务属性与具有外键的任务表相关:
Id4 Properties id3
-----------------------
1 P1 1
2 P2 1
3 P3 1
4 P2 2
5 P3 2
6 P5 2
本例中的场景是,我有一个任务,并且必须将其属性与第一个表名的属性相匹配
id2 Properties id1
-----------------------
1 P1 1
2 P2 1
3 P3 1
4 P2 2
5 P3 2
6 P5 2
e、 g.在任务2中,属性将与XYZ匹配
我试着用分组计数,但没有运气得到准确的结果
有人能帮我吗?为什么任务及其属性有不同的表?是否存在一对多关系?是否查看了
JOIN
s?是否存在一对多关系。我尝试了使用连接,但它不会像预期的那样工作,因为我必须匹配属性。我想要实现的是将任务的属性与每个名称的“属性”匹配,如果所有任务属性都存在于“名称”属性中,则将该名称包含到结果中。如果我选择某个前端(.Net),我必须使用嵌套循环来匹配属性,但这不是更快的方法。我正在寻找一种在SQL中实现它的方法。