Mysql “如何生产”;";列值为“0”时查询输出的行;";

Mysql “如何生产”;";列值为“0”时查询输出的行;";,mysql,Mysql,考虑一个订单表格: OrderId Item Qty O1 A1 5 O2 A2 1 O3 A3 3 该数据是否可以“分解”为单个单位记录,如: OrderId itemId Qty O1 A1 1 O1 A1 1 O1 A1 1 O1 A1 1 O1 A1 1 O2 A2 1 O3 A3 1 O3

考虑一个
订单
表格:

OrderId Item Qty 
O1      A1   5 
O2      A2   1 
O3      A3   3 
该数据是否可以“分解”为单个单位记录,如:

OrderId itemId Qty 
O1      A1     1 
O1      A1     1 
O1      A1     1 
O1      A1     1 
O1      A1     1 
O2      A2     1 
O3      A3     1 
O3      A3     1 
O3      A3     1

这里最好的解决方案是使用and
CONCAT\u WS
(带分隔符的CONCAT):


让我知道这是否有效或是否需要一些改进

数量的多少有合理的限制吗?仅供参考,所需输出的
Qty
列是多余的-总是
1
没有限制。。数量可以是任何值。然后你不能这样做。当数量为“n”时,这不会产生“n”行。原始帖子在一行上显示了所有输出,我想问题是如何将所有输出都放在一行。我知道现在发生了什么,原始问题格式误导了meSorry Josh。。在只看到你的回复后,我看到输出已打印在一行中。。
SELECT CONCAT('Order Id Item Qty ', 
    GROUP_CONCAT(
        CONCAT_WS(' ',OrderId,Item,Qty)
        SEPARATOR ' '
    )
)
FROM Order;