1 対多の関係の最大ステップ数を返すために、Partition By を使用して学習しようとしています。基本的に、会社テーブルで一意の会社 ID が 1 つあります。会社には特定のステップがありますが、これは StepCompany テーブルにいくらでもあります。companID は、stepCompany テーブル内のその会社に存在するすべてのステップに存在します。ステップには StepOrder があります。これは、常にそれらの MAX を返すために使用する必要があるものです。しかし、基本的にどのステップがその会社のキューの最後のステップであるかに基づいて、会社と stepCompany から両方の情報を返す単一のクエリが必要です。私が見つけたソースは、私が Partition By に慣れていないため理解できないか、Partition By にエイリアスを与え、外部選択の最後で、たとえば alias = 1 が好きです。
これは、partition by などのないクエリの戻り値です。
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 はきれいではないため、提供したくありません:)
みんなの助けに感謝します!
ありがとう、