我想不出有更好的方式來問這個問題,但是這裏有:將多行組合成一個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