我有一个 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 应该接受一个组件ID、一个区域和一个城市,并按照它们的位置顺序返回适当的组件。因此,以下示例应该成立:
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
我手头没有失败的存储过程代码,但可以在几个小时内附上它......