我正在尝试查找给定产品集合(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,因为某些属性是日期或位。如您所见,任何产品都可以具有任何属性组合以及同一类型的多个属性。对于上面的示例设置所需的结果将是一个只有一行,因为这些产品只能有一个共同的属性(通常会有一些共同的):
+--------------+------------+
| Attribute_ID | Value |
+--------------+------------+
| 10 | Metal |
+--------------+------------+
我并不需要返回STOCK_ID号在这个查询中,因为我们从名为#TempItemNumbers的临时表中开始处理这些信息。我只需要返回一组Attribute_ID和值,这些属性ID和值对于通过用户输入生成的#TempItemNumbers中列出的所有Stock_ID号码是通用的。 我通常不使用游标或动态SQL,所以我不是很熟悉这些方法,但我认为这个问题将需要一个或两个。 请帮忙!
为什么向下票呢? –