Я не мог придумать лучшего способа задать этот вопрос, но здесь идет:Объедините несколько строк в один MySQL Присоединиться
У меня есть 2 стола. Первая - таблица элементов для печати этикеток. Мы будем называть его pj_items
Столбцы просто: job_id, part_num and qty
Вторая таблица представляет собой список отделки называется PartFinishes
на части с помощью всего 2 столбцов: PartNumber and FinishId
Когда я хочу, чтобы получить информацию для печати этикеток I использование: 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
Этот запрос работает отлично и дает мне правильный результат, когда каждая часть час как только один конец. Проблема в том, что на части есть 2 или более финиша.
Например: Часть 99401326
имеет 2 контуров. На моей таблице pj_items
у меня есть одна строка для этой части, поэтому я могу напечатать одну метку. Когда я использую этот запрос, он возвращает 2 строки для этой части, каждый с другим FinishId
К сожалению, это приведет к нанесению 2 ярлыков. Мне нужна обе эти финишировки в одной строке, так как мне нужен только один ярлык, напечатанный с обоими FinishId
.
У меня был подобный запрос, который возвратил отделки в качестве новых столбцов (f1,f2,f3
), но он все равно вернется 2 строки в данном примере с f1
, определенной в первом ряду и f1
как нуль во втором ряду и f2
определяется в второй.
Как я могу получить это в одну строку?
Надеюсь, это имеет смысл, у кого есть предложения?
Если вам нужна дополнительная информация, то дайте мне знать.
Спасибо!
EDIT:
Таблица pj_items
может иметь повторяющиеся записи, и мне нужно, чтобы сохранить их в качестве отдельных строк. Мне просто нужно иметь все отделки для каждой части в одной строке с соответствующей ее частью.
Пример
Ниже приведен пример таблицы pj_items:
Вот соответствующая информация из PartFinishes
таблицы:
И вот результат, используя оригинал запрос:
Что мне нужно в результате, две строки из 99401326
- это одна с обеих концов в этой строке, при этом поддерживая две отдельные строки для 99401077
, так как я хочу две метки этих.
Это работает. Проблема тогда в том, что если я хочу напечатать несколько ярлыков одной части, у меня будет две или три строки в таблице pj_items той же части. Эти строки объединяются в один с одним и тем же концом несколько раз в столбце FinishIds. Вероятно, мне следовало бы добавить более конкретные вопросы к моему вопросу. Спасибо за ответ, хотя! –
Отлично! Это работает отлично. Спасибо огромное! –