コンポーネントとパーツの情報を含む SQL Azure テーブルがあります。特定のコンポーネントのパーツの正しいリストを返すストアド プロシージャを作成する必要があります。ただし、特定の行を「オーバーライド」する必要があるため、複雑です。
私のテーブルは次のようになります。
ComponentID | Position | PartID | Area | City |
------------+----------+--------+---------+--------+
3 | 1 | F | Europe | None |
3 | 1 | G | England | None |
3 | 1 | S | England | London |
3 | 2 | H | Europe | None |
3 | 2 | I | England | None |
3 | 3 | Q | Europe | None |
ここでの「オーバーライド」とは、ある場所についてより具体的な場合は、位置 X で見つけられる最も具体的な部分の詳細を取得する必要があるということです。つまり、基本バージョンが利用できる場合がありますが、他のバージョンが優先される場合があります。次に、最も具体的なバージョン以外はすべて無視する必要があります。
私が書いたストアド プロシージャが機能しません。sproc は、componentID、エリア、都市を受け取り、適切なコンポーネントを位置順に返す必要があります。したがって、次の例が成り立つはずです。
Input: 3, Europe, None: 1 F 2 H 3 Q Input: 3, England, None: 1 G 2 I 3 Q Input: 3, England, London: 1 S 2 I 3 Q
失敗した sproc コードは手元にありませんが、数時間で添付できます...