表1包含产品信息,表2包含客户信息
Table 1 (Product Information)
---------------
product | value
---------------
Product_A | 5
Product_B | 10
Table 2 (client Information)
----------------------------------------------------
ConsumerID | Purchase_product_A | Purchase_product_B
----------------------------------------------------
1A | 3 | 4
2B | 2 | 3

我需要在第三个表中获得这些信息=表3
Table 3
--------------------------------
ConsumerID | Frequency | product
---------------------------------
1A | 3 | Product_a
1A | 4 | Product_b
2B | 2 | Product_a
2B | 3 | Product_b

在表3中,我需要概述:ConsumerID,购买频率和产品。对于每个产品,ConsumerID可以有一个单独的行。
重要的是要知道只支持SQL-Server-2005,并且每个查询都需要以选择开始。谢谢你的帮助。
答案 0 :(得分:0)
你需要解开。我喜欢使用apply
:
select u.*
from table2 t2 cross apply
(select customer_id, 'A' as product, Frequency_purchase_product_A as frequency
union all
select customer_id, 'B' as product, Frequency_purchase_product_B as frequency
) u(customer_id, product, frequency);
我不认为第一张桌子是必要的。