次のクエリを実行します
Select * From
(
Select
GUID,
MFG_CODE,
STK_NAME,
parentid,
masteritem,
ROW_NUMBER() over(order by guid) r
From Fstock Where MasterItem=1 OR isNull(parentID, '')=''
) a
Where r between 4716 And 4716
そして、次の結果が得られます
GUID MFG_CODE parentid masteritem r
31955 369553 0 1 4717
ご覧のとおりGUID 31955
、実際にはparentITEM
& です。この親アイテムのすべての子を同じクエリ内に取り込む必要があります。
たとえば、次のようにします。
Select * From Fstock where parentID = 31955
それの3つの子を返します
GUID
31956
31957
31958
row_number()
これら2つのクエリを組み合わせる方法はありますか?関数を使用して固定量の行のみを返したいのですが、返された行Parent ITem
には .
パフォーマンスは私にとって非常に重要です。
--- 編集 ---- 次のクエリで動作するようになりました。他のアイデアはありますか?
With CTE
As
(
Select
GUID,
Manufacturer,
SELL_PRICE,
MFG_CODE,
parentid,
masteritem,
ROW_NUMBER() over(order by GUID) r
From Fstock Where MasterItem=1 OR isNull(parentID, '')=''
)
Select A.*,F.parentID From
(
Select * From CTE
Where r between 4717 And 6000
) A
Left join Fstock F on F.parentID = A.GUID
Order by A.r