我有一个包含产品价格信息的产品表。每行不再包含特定产品的 1 个价格,而是包含特定产品和该产品不同数量的 3 列价格。
我正在尝试找出一种方法来创建一个 View ,该 View 本质上将这 3 列分成自己的行,以及每个其他产品信息的一列。
抱歉,我知道这听起来有点令人困惑,所以这是我开始的 sqlfiddle:http://sqlfiddle.com/#!2/f4443/1
当然, View 声明不正确,但是如果您一直向下滚动,您可以在评论中看到我希望 View 的外观。
谢谢!
最佳答案
在 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;
关于mysql - 创建一个 mySQL View ,其中每一行都是同一行中特定列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25208117/