将多个子行合并为一行MYSQL

在此先感谢,我似乎无法理解!


我有两张桌子


Ordered_Item


ID | 项目名称

1 | 比萨

2 | 斯特龙博利

Ordered_Options


Ordered_Item_ID | Option_Number | 值

        1 43意大利辣香肠

        1 44额外的奶酪

        2 44额外的奶酪

我想要输出的是mysql查询,可以达到这种效果


输出量


ID | 项目名称| 选项_1 | 选项_2

1披萨意大利辣香肠额外奶酪

2 Stromboli NULL额外奶酪

我尝试了很多选项,大多数以语法错误结尾,我尝试了group_concat,但这并不是我真正想要的。下面有一个简单的例子,我认为这可能是一个开始。我需要选项每次都按相同顺序排列。在收集信息的程序中,没有办法可靠地确保将要发生。是否可以根据选件号将它们连接在一起。我也知道我永远不会有5个以上的选择,因此静态解决方案会起作用


Select Ordered_Items.ID,

    Ordered_Items.Item_Name,

FROM Ordered_Items

    JOIN (SELECT Ordered_Options.Value FROM Ordered_Options Where Option_Number = 43) as Option_1 

        ON Ordered_Options.Ordered_Item_ID = Ordered_Item.ID

    JOIN (SELECT Ordered_Options.Value FROM Ordered_Options Where Option_Number = 44) as Option_2 

        ON Ordered_Options.Ordered_Item_ID = Ordered_Item.ID;


慕哥9229398
浏览 522回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL