我有一个包含产品价格信息的产品表。而不是每行包含特定产品的1个价格,每行包含特定产品和3列价格,用于该产品的不同数量。
我试图想出一种方法来创建一个视图,实质上将这3列拆分为自己的行,以及每个其他产品信息的列。
对不起,我知道这听起来有点令人困惑,所以这里是我开始的sqlfiddle:http://sqlfiddle.com/#!2/f4443/1
当然,视图声明不正确,但如果你一直向下滚动,你可以在评论中看到我希望视图的外观。
谢谢!
答案 0 :(得分:0)
在MySQL中,您可以使用union all
:
create view v_products as
select product_id, p.type,
CONCAT(p.type, '|', p.size, '|', p.color, '|', '|price_qty_50') AS full_product_name,
price_qty_50 as price
from product p
union all
select product_id, p.type,
CONCAT(p.type, '|', p.size, '|', p.color, '|', '|price_qty_50') AS full_product_name,
price_qty_100
from product p
union all
select product_id, p.type,
CONCAT(p.type, '|', p.size, '|', p.color, '|', '|price_qty_50') AS full_product_name,
price_qty_250
from product p;