特定の製品セット(Stock_ID番号)に共通するすべての属性を検索しようとしています。商品情報を含むStock_Attributesというテーブルがあります。これは次のようになります。SQL Serverの特定の製品間で共通の属性を見つける
+----------+--------------+------------+
| Stock_ID | Attribute_ID | Value |
+----------+--------------+------------+
| 1001 | 2 | Farmhouse |
| 1001 | 8 | Blue |
| 1001 | 9 | Bronze |
| 1001 | 10 | Metal |
| 1001 | 10 | Wood |
| 1002 | 2 | Industrial |
| 1002 | 9 | Chrome |
| 1002 | 10 | Metal |
| 1003 | 2 | Industrial |
| 1003 | 8 | Red |
| 1003 | 10 | Glass |
| 1003 | 10 | Metal |
+----------+--------------+------------+
Stock_IDとAttribute_IDのデータ型はどちらもINTです。いくつかの属性は日付またはビットなので、値はsql_variantです。表示されているように、どの製品でも、同じタイプの複数の属性と複数の属性を組み合わせることができます。これらの製品は、唯一の共通の属性を持っているので、上記のサンプルセットに対する所望の結果は、ちょうど1行1になります(一般的に共通のいくつかのがあるでしょう):
+--------------+------------+
| Attribute_ID | Value |
+--------------+------------+
| 10 | Metal |
+--------------+------------+
私はStock_ID番号を返却する必要はありません。このクエリでは、#TempItemNumbersという一時テーブル内の情報から開始しているためです。 #TempItemNumbersにリストされているすべてのStock_ID番号に共通のAttribute_IDとValueのセットを返すだけで済みます。これはユーザー入力によって生成されます。 私はこれらのメソッドに慣れていないので、通常はカーソルや動的SQLを使用しませんが、この問題にはどちらかまたは両方が必要と考えています。 助けてください!
stock_idしてみてくださいなぜダウン投票? –