は3つのテーブルを持って、さらにテーブルを順番位置をキープ。は、次のように
私は、クエリを得たが、私は最後の撮影で、したがって(この表にFK_Variation_ID
が、他の位置にあることができる)T_Variation_VariationAttribute
からFK_Variation_ID
を取るために使用したときに、私は位置して、それらのレコードでT_Artikel_T_Variation
から、まずレコードを取得するときに問題がありますT_Variation
からにあるよりも、私はT_Variation
から他の地位で得ることができます。
ポジションの順序を維持する方法はありますか?
現在のクエリ:
;WITH var_varattr (FK_Variation_ID) As (
SELECT FK_Variation_ID
FROM T_Variation_VariationAttribute
WHERE ID IN (
SELECT TOP 100 PERCENT FK_Variation_VariationAttribute_ID
FROM T_Artikel_T_Variation
WHERE FK_Artikel_ID = 46
ORDER BY Position ASC
)
)
SELECT Id,
Name
FROM T_Variation
WHERE ID IN (
SELECT FK_Variation_ID
FROM var_varattr
)
SQLでは、システム*に*する方法ではなく、*する方法を指示します*。具体的には、各基本表にアクセスする順序、述語を適用する順序などを実際に制御するわけではありません。結果の順序に影響を与える唯一の「ORDER BY」節は、最も外側の問合せにあります。他の場所では、他の機能( 'TOP'など)をwell * * defined *にするためにのみ使用されます。 –