MySQL将一行分解为多行

时间:2014-11-12 17:07:03

标签: mysql sql case

我的表格如下:

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声明?但真的很难让它发挥作用。 如果你可以帮我写一些伪代码,指出我的方向非常有帮助。

谢谢!

1 个答案:

答案 0 :(得分: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