Tsql SQL Server 2008:具有关系表排序字段的多对多表+;分组
为了了解我需要什么,下面是我正在使用的图表: 我需要获得一个项目的属性+它的所有关系,所有这些都基于相应的关系表“Tsql SQL Server 2008:具有关系表排序字段的多对多表+;分组,tsql,sql-server-2008,union,Tsql,Sql Server 2008,Union,为了了解我需要什么,下面是我正在使用的图表: 我需要获得一个项目的属性+它的所有关系,所有这些都基于相应的关系表“OrderNumber列列出 假设我需要“项目Z”,我想得到: 项目的BaseUrl。。。其中ID=@ID 与该项目关联的所有测试套件,按ProjectsToTestSuites.OrderNumber列出 与匹配的TestSuite关联的所有测试用例,由TestSuitesToTestCases.OrderNumber列出 与匹配的testcases关联的所有testaction
OrderNumber
列列出
假设我需要“项目Z”,我想得到:
- 项目的BaseUrl。。。其中ID=@ID
- 与该项目关联的所有测试套件,按ProjectsToTestSuites.OrderNumber列出
- 与匹配的TestSuite关联的所有测试用例,由TestSuitesToTestCases.OrderNumber列出
- 与匹配的testcases关联的所有testaction,由TestCasesToTestActions.OrderNumber列出
谢谢如果你想要一个简单的结果,你可以从这样的东西开始(未经测试)
谢谢,这似乎是个开始。我们将看到如何相应地编辑它。
select
p.Id,
p.BaseUrl,
ts.*,
tc.*,
ta.*,
pts.OrderNumber as SuitesOrder,
tstc.OrderNumber as CasesOrder,
tcta.OrderNumber as ActionsOrder
from
Projects p
join
ProjectToTestSuites pts
on pts.Projects_Id = p.Id
join
TestSuites ts
on ts.Id = pts.TestSuites_Id
join
TestSuitesToTestCases tstc
on tstc.TestSuites_Id = ts.Id
join
TestCases tc
on tc.Id = tstc.TestCases_Id
join
TestCasesToTestActions tcta
on tcta.TestCases_Id = tc.Id
join
TestActions ta
on ta.Id = tcta.TestActions_Id
where
p.Id = @Id
order by
pts.OrderNumber,
tstc.OrderNumber,
tcta.OrderNumber