mysql - 创建一个 mySQL View ,其中每一行都是同一行中特定列的值

标签 mysql

我有一个包含产品价格信息的产品表。每行不再包含特定产品的 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/

相关文章:

mysql - 在 MySQL 过程中获取浏览器信息

php - 如何解析select mysql查询得到的Json数据?

php - 高级 WordPress SQL 查询

PHP:如何在插入语句中包含第一个数字零

php - 尝试使用 Eloquent 关系时尝试获取非对象错误的属性

PHP 将 MySQL 结果合并到一个变量

php - 我无法将输入字段中的数据发送到我的 MySQL 数据库

java - 如何删除具有多对多关系的实体?日本PA

MySQL - 让 ORDER BY 按嵌入到字符串字段中的数字排序

MySQL 关系。用户角色