我正在尝试使用和学习 Partition By 来返回一对多关系的最大步数。基本上,我有一个 companyID,它在公司表中是唯一的。公司有特定的步骤,在 StepCompany 表中可以有很多。companID 存在于 stepCompany 表中该公司可能存在的每个步骤。这些步骤有 StepOrder,我需要使用它来始终返回这些步骤中的 MAX。但是我需要一个查询来返回公司和 stepCompany 的信息,这取决于哪一步基本上是该公司队列中的最后一步。我发现我不理解的来源,因为我是 Partition By 的新手,或者他们给 Partition By 一个别名,并且在外部选择的末尾,他们确实喜欢 alias = 1 例如。
这是没有分区或任何内容的查询返回。
CompanyIDticketID|||| companyCompanyID||| stepCompanyCompanyID|||| stepCompanyStepOrder
----------------- ---------------- -------------------- --------------------
136211 |||| 10B7E005 ||| 10B7E005 ||| 1
136211 |||| 10B7E005 ||| 10B7E005 ||| 2
136211 |||| 10B7E005 ||| 10B7E005 ||| 3
155585 |||| 3A2078C5 ||| 3A2078C5 ||| 1
155585 |||| 3A2078C5 ||| 3A2078C5 ||| 2
193256 |||| 95AC74FB ||| 95AC74FB ||| 1
193256 |||| 95AC74FB ||| 95AC74FB ||| 2
210425 |||| 0BAD0261 ||| 0BAD0261 ||| 1
210425 |||| 0BAD0261 ||| 0BAD0261 ||| 2
抱歉格式错误,不知道如何在这里整齐地创建表格。
所以这些是 2 个正在连接的表。companyCompanyID = stepCompanyCompanyID 用于加入他们。所以对于 companyID 136211 我需要 stepCompanyStepOrder 3 返回,显然 stepCompany 表中的数据。对于 companyIDticketID 155585 我需要 stepCompanyStepOrder 2 等。我宁愿不提供我的 SQL,因为它不漂亮:)
我感谢大家的帮助!
谢谢,