mysql join 合并_将多行合并为一个MySQL Join

我想不出更好的方式来问这个问题,但是这里有:

我有2张桌子.第一个是标签打印作业的项目表.我们称之为pj_items列只是:job_id,part_num和qty

第二个表是一个名为PartFinishes的完成列表,只有两列:PartNumber和FinishId

当我想检索标签打印机的信息时,我使用:

从pj_items中选择pj_items.part_num,pj_items.qty,PartFinishes.FinishId

在PartFinishes.PartNumber = pj_items.part_num上加入PartFinishes

其中job_id = 1

此查询工作正常,并在每个部分只有一个完成时为我提供正确的结果.问题是当零件上有两个或更多的表面处理时.

例如:零件99401326有2个饰面.在我的pj_items表上,我有一行用于该部分,因此我可以打印一个标签.当我使用这个查询时,它会为该部分返回2行,每行都有不同的FinishId,不幸的是会导致打印2个标签.我需要在一行上完成这两种饰面,因为我只想要一个印有两个FinishId的标签.

我有一个类似的查询返回完成为新列(f1,f2,f3)但它仍然会返回给定示例中的2行,其中第一行中定义了f1,第二行中f1为空,f2定义为第二.

我怎么能把它变成一行?

希望这是有道理的,任何人都有任何建议吗?

如果您需要更多信息,请告诉我们.

谢谢!

编辑:

pj_items表可能有重复的条目,我需要将它们保存为单独的行.我只需要将每个部件的所有表面处理与其各自的部分连在一起.

以下是pj_items表的示例:

以下是PartFinishes表中的相关信息:

这是使用原始查询的结果:

我在结果中需要的是两行99401326是一行同时包含该行中的两个完成,同时保持99401077的两个单独的行,因为我想要2个标签.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值