これらの2つの左結合を1つにマージすることは可能ですか?同じテーブルの2つの左結合を1つにマージする
私はあなたが同じクエリでsomefieldあたりのフィールド2の最大を取得するためにmax() over()
を使用することができます任意の方法
select left1.field1,
left2.field2
from masterTable left join (
select somefield,
field1,
row_number() over (partition by somefield orderby otherfield) as rowNum
from childTable
inner join masterTable
on masterTable.somefield = childTable.somefield
) as left1
on masterTable.somefield = left1.somefield
AND left1.rownum =1
left join (
select somefield,
max(field2) as field2
from childTable
inner join masterTable
on masterTable.somefield = childTable.somefield
where field3 = 1
group by somefield
) as left2
on masterTable.somefield = left2.somefield
ねえ!私の答えをチェックしましたか?ちょうど:)私はこれまで、インラインウィンドウ関数は、仕事をしているように見える、月曜日に見てみましょうgofr1 @ – gofr1
は、私が行っていたときに戻って、そのパターンをテストするつもりは、私の本当のクエリはもう少し面白い好奇心です – Fredou