我有两张表,为简单起见,我将用一个简单的问题来说明。
Product 表包含具有两列的产品定义
Product ID -- Product Name
产品详细信息表包含存储为垂直或扩展属性的产品详细信息
Product Detail ID -- Product Number -- Key ID -- Value ID
假设我有另外两个参考表,其中一个用于键,另一个用于值。
键表
1 -- Price
2 -- Color
值表
1 -- Red
2 -- Blue
3 -- 10 $
4 -- 20$
我将 Product Details 表用作垂直表来为产品添加任意数量的属性。
现在来搜索记录!
例如,我需要获取“所有”产品详细信息列匹配的所有产品。
我有以下数据
产品表数据
Prod#1 XXX
Prod#2 YYY
产品详情表数据
1 Prod#1 1 4
2 Prod#1 2 1
第 1 行:产品 1 具有值为 20$ 的价格键 第 2 行:产品 1 具有值为红色的颜色键
现在需要执行以下查询:
1- Get Products with Key "Price" having a price > 10$
2- Get Products with a Key "Price" > 10 AND "Color" is Red
这在 TSQL 中的单个查询中可行吗?
谢谢