我想不出有更好的方式来问这个问题,但是这里有:将多行组合成一个MySQL加入
我有2个表。第一个是用于标签打印作业的项目表。我们叫它pj_items
的列是简单的:job_id, part_num and qty
第二个表是部分称为PartFinishes
只有2列完成的列表:PartNumber and FinishId
当我想要检索标签打印机我的信息用途: select pj_items.part_num, pj_items.qty, PartFinishes.FinishId from pj_items
join PartFinishes on PartFinishes.PartNumber = pj_items.part_num
where job_id = 1
此查询工作正常,并给了我正确的结果时,每个部件h只有一个完成。问题是当零件有两个或更多的饰面时。
例如:零件99401326
有2个完成。在我的pj_items
表格中,我有一行可以打印一个标签。当我使用这个查询时,它返回2行,每个都有不同的FinishId
。不幸的是,这会导致打印2个标签。因为我只想要一个标签与FinishId
的礼物一起打印,所以我需要将这两个表面完成。
我有这返回的结束作为新列(f1,f2,f3
)类似的查询,但它仍然会在给定的例子返回2行与第一行中的定义f1
和f1
作为第二行空,f2
中被定义第二。
我怎样才能把它变成一行?
希望这是有道理的,任何人有任何建议?
如果您需要更多信息,请告诉我。
谢谢!
编辑:
的pj_items
表可能有重复的条目,我需要保护这些作为单独的行。我只需要为其各个部分的每一部分都完成一行。
例
这里是pj_items表的一个例子:
下面是从PartFinishes
表中的相关信息:
这里是使用原始的结果查询:
我在结果中需要的是99401326
的两行是同一行中的两个完成,同时保留了99401077
的2个独立行,因为我需要这两行标记。
工程。然后问题是如果我想打印一个部分的多个标签,我会在同一部分的pj_items表中有2或3行。这些行在FinishIds列中被多次合并为一个,并且具有相同的完成次数。我应该为我的问题添加更多细节。尽管谢谢你的回答! – 2012-01-12 16:09:48
非常好!这是完美的。非常感谢! – 2012-01-12 17:48:42