在 MySQL 中将一行分解为多行

问题描述 投票:0回答:1

我有一张桌子,看起来像这样:

product    price99    price100
A          2          1
B          3          2
..

我不知道如何在 MySQL 中将其分解为这样的格式,就像使用 R 中的熔化和转换函数一样。

product     quantity_min    quantity_max    price
A           1               99              2
A           100             999999          1
B           1               99              3
B           100             999999          2
..

我感觉可能需要case声明?但真的很难让它发挥作用。接下来我可以尝试什么?

mysql sql case
1个回答
1
投票

我会这样做

select 
    product, 
    1 as 'quantity_min', 
    99 as 'quantity_max', 
    price99 as 'price'
FROM Table1
UNION ALL
select 
    product, 
    100 as 'quantity_min', 
    999999 as 'quantity_max', 
    price100 as 'price'
FROM Table1
© www.soinside.com 2019 - 2024. All rights reserved.