1С запрос соединение 3х таблиц, две из которых с одинаковым содержанием
Здравствуйте! Помогите, пожалуйста, начинающему специалисту. Нужно соединить 3 таблицы, загвоздка в том, что 2я и 3я таблицы с одинаковым содержанием (так нужно). Поэтому в результирующей таблице в первой колонке встречаются 4 одинаковые записи, а во 2й и 3й идет чередование записей: результат1 и результат1; результат1 и результат2; результат2 и результат1; результат2 и результат2. А нужно сделать чтобы была одна строка с результат1 и результат2.
Найденные решения
(11)опять же: если существует только два значения - Проушина1 и Проушина2, то решение может быть и через агрегирующие функции Минимум и Максимум, но придется сделать отдельную временную таблицу:
Выбрать
SKU,
Product,
Part,
Минимум(eye1) как eye1,
максимум(eye2) как eye2
ПОМЕСТИТЬ ВТ_Проушины
ИЗ
ТаблицаBoMs
СГРУППИРОВАТЬ ПО
SKU,
Product,
Part
ПоказатьОстальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(2)Прошу прощения, а можно подробнее. Я видимо что то не правильно делаю - у меня все равно получается то же самое:
Запись результат1 и результат1
Запись результат1 и результат2
Запись результат2 и результат1
Запись результат2 и результат2
Значение записей результат не числовое.
Запись результат1 и результат1
Запись результат1 и результат2
Запись результат2 и результат1
Запись результат2 и результат2
Значение записей результат не числовое.
(5)Прикрепил файл, в нем 3 таблицы: в Ресурсной спецификации, среди прочих есть ДетальХ с индивидуальной характеристикой, так же есть Ресурсные спецификации, которые вообще не содержат ДеталиХ, содержат одну ДетальХ, содержат две одинаковых ДеталиХ и содержат две разных ДеталиХ. Нужно соединить или объединить эти 3 таблицы, так что бы получился результат:
РесСпецификация Характ-каДетали1 Характ-каДетали2
Спецификация1 Характеристика1
Спецификация2 Характеристика2 Характеристика2
Спецификация3 Характеристика3 Характеристика4
Спецификация4 ______________ ______________
Цифры Спецификаций и Характеристик значения не играют, они могут варьироваться и указывают только на то, что они различаются.
РесСпецификация Характ-каДетали1 Характ-каДетали2
Спецификация1 Характеристика1
Спецификация2 Характеристика2 Характеристика2
Спецификация3 Характеристика3 Характеристика4
Спецификация4 ______________ ______________
Цифры Спецификаций и Характеристик значения не играют, они могут варьироваться и указывают только на то, что они различаются.
Прикрепленные файлы:
Таблица.odg
(7)Еще больше сумбура получилось, ИМХО.
В спецификации указаны выходные детали и их характеристики.
Простой запрос вида:
Даст вам результат:
В чем подвох не могу понять:
спецификация может быть на стопицот разных деталей, а нужно разбить на 2 столбца по двум характеристикам, т.е. получить результат вида:
или что/как?
В спецификации указаны выходные детали и их характеристики.
Простой запрос вида:
Выбрать
ВыходноеИзделие.Ссылка,
ВыходноеИзделие.Номенклатура,
ВыходноеИзделие.Характеристика
ИЗ
Спецификации.ВыходныеИзделия КАК ВыходноеИзделие
Даст вам результат:
Результат |
---|
Спецификация1, Деталь1, Характеристика1_1
Спецификация1, Деталь1, Характеристика1_2 ........................................................................... Спецификация1, Деталь1, Характеристика1_N Спецификация1, Деталь2, Характеристика2_1 Спецификация1, Деталь2, Характеристика2_2 ........................................................................... Спецификация1, Деталь2, Характеристика2_N ............................................................................... Спецификация1, ДетальM, ХарактеристикаM_1 Спецификация1, ДетальM, ХарактеристикаM_2 ........................................................................... Спецификация1, ДетальM, ХарактеристикаM_N |
В чем подвох не могу понять:
спецификация может быть на стопицот разных деталей, а нужно разбить на 2 столбца по двум характеристикам, т.е. получить результат вида:
Как должно быть |
---|
Спецификация1, Деталь1, Характеристика1_1, Характеристика1_2
Спецификация1, Деталь1, Характеристика1_3, Характеристика1_4 ........................................................................... Спецификация1, Деталь1, Характеристика1_N-1, Характеристика1_N ............................................................................ |
или что/как?
(9)Вот полный текст задания.
В базе данных есть заполненная таблица BoMs, в которой имеются колонки product, part и SKU. Необходимо написать запрос, результатом которого будет таблица с колонками product, bumper, rod, mount, eye1, eye2.
В колонку product должны попасть данные из одноимённой колонки таблицы BoMs, но без повторений.
В колонку bumper должны попасть данные из колонки SKU для той строки, в которой указано соответствующее значение product и в колонке part наименование содержит словосочетание "скоба стопорная" или "опора буфера". В таблице BoMs для каждого значения product может быть только одна строка, содержащая одно из данных словосочетаний, но не слова и словосочетания, используемые для других колонок результата запроса.
В колонку rod должны попасть данные из колонки SKU для той строки, в которой указано соответствующее значение product и в колонке part наименование содержит слово "шток". В таблице BoMs для каждого значения product может быть только одна строка, содержащая данное слово, но не слова и словосочетания, используемые для других колонок результата запроса.
В колонку mount должны попасть данные из колонки SKU для той строки, в которой указано соответствующее значение product и в колонке part наименование содержит словосочетание "шток крепления" или "дно". В таблице BoMs для каждого значения product может быть только одна строка, содержащая одно из данных словосочетаний, но не слова и словосочетания, используемые для других колонок результата запроса.
В колонку eye1 должны попасть данные из колонки SKU для одной строки, в которой указано соответствующее значение product и в колонке part наименование содержит слово "проушина". В таблице BoMs для каждого значения product может быть одна или две строки, содержащие данное слово. В колонку eye2 должны попасть данные из колонки SKU для другой строки того же значения product (если есть), у которой в колонке part наименование содержит слово "проушина".
2 последние колонки содержат одинаковые детали. Как я уже и писал: изделие может не содержать этих деталей, может содержать одну, две одинаковых или две разных. Поэтому при составлении запроса, в этих 2х колонка наименование деталей просто чередуется, а должна быть одна уникальная запись:
eye1 eye2
проушина1 проушина2
А не:
eye1 eye2
проушина1 проушина2
проушина2 проушина1
проушина1 проушина1
проушина2 проушина2
В базе данных есть заполненная таблица BoMs, в которой имеются колонки product, part и SKU. Необходимо написать запрос, результатом которого будет таблица с колонками product, bumper, rod, mount, eye1, eye2.
В колонку product должны попасть данные из одноимённой колонки таблицы BoMs, но без повторений.
В колонку bumper должны попасть данные из колонки SKU для той строки, в которой указано соответствующее значение product и в колонке part наименование содержит словосочетание "скоба стопорная" или "опора буфера". В таблице BoMs для каждого значения product может быть только одна строка, содержащая одно из данных словосочетаний, но не слова и словосочетания, используемые для других колонок результата запроса.
В колонку rod должны попасть данные из колонки SKU для той строки, в которой указано соответствующее значение product и в колонке part наименование содержит слово "шток". В таблице BoMs для каждого значения product может быть только одна строка, содержащая данное слово, но не слова и словосочетания, используемые для других колонок результата запроса.
В колонку mount должны попасть данные из колонки SKU для той строки, в которой указано соответствующее значение product и в колонке part наименование содержит словосочетание "шток крепления" или "дно". В таблице BoMs для каждого значения product может быть только одна строка, содержащая одно из данных словосочетаний, но не слова и словосочетания, используемые для других колонок результата запроса.
В колонку eye1 должны попасть данные из колонки SKU для одной строки, в которой указано соответствующее значение product и в колонке part наименование содержит слово "проушина". В таблице BoMs для каждого значения product может быть одна или две строки, содержащие данное слово. В колонку eye2 должны попасть данные из колонки SKU для другой строки того же значения product (если есть), у которой в колонке part наименование содержит слово "проушина".
2 последние колонки содержат одинаковые детали. Как я уже и писал: изделие может не содержать этих деталей, может содержать одну, две одинаковых или две разных. Поэтому при составлении запроса, в этих 2х колонка наименование деталей просто чередуется, а должна быть одна уникальная запись:
eye1 eye2
проушина1 проушина2
А не:
eye1 eye2
проушина1 проушина2
проушина2 проушина1
проушина1 проушина1
проушина2 проушина2
(11)опять же: если существует только два значения - Проушина1 и Проушина2, то решение может быть и через агрегирующие функции Минимум и Максимум, но придется сделать отдельную временную таблицу:
Выбрать
SKU,
Product,
Part,
Минимум(eye1) как eye1,
максимум(eye2) как eye2
ПОМЕСТИТЬ ВТ_Проушины
ИЗ
ТаблицаBoMs
СГРУППИРОВАТЬ ПО
SKU,
Product,
Part
Показать
(12) Спасибо за подсказку, дала верное направление. Окончательный запрос выглядит следующим образом:
ВЫБРАТЬ
Спецификация,
МИНИМУМ(Проушина) КАК Проушина1,
ВЫБОР
КОГДА МАКСИМУМ(Проушина) <> МИНИМУМ(Проушина)
ТОГДА МАКСИМУМ(Проушина)
ИНАЧЕ NULL
КОНЕЦ КАК Проушина2
ИЗ
Проушины
СГРУППИРОВАТЬ ПО Спецификация
Показать
(10)
SELECT
BoMs.product ,
SKU КАК bumper ,
NULL КАК rod ,
NULL КАК mount
WHERE part = "скоба стопорная" или part = "опора буфера"
UNI ON ALL
SELECT
BoMs.product ,
NULL КАК bumper ,
SKU КАК rod ,
NULL КАК mount
WHERE part ПОДОБНО "%шток%"
UNION ALL
SEL ECT
BoMs.product ,
NULL КАК bumper ,
NULL КАК rod ,
SKU КАК mount
WHERE part = "шток крепления" или part = "дно"
// последний кусок напиши сам для тренировки
Показать
(10) А потом забанят за магичские строки =)
Как я понимаю это что-то типа вагонов, которые могу соединяться(mount) путем совмещения своих проушен(eye) и штока(rod). Все это на соединительном механизме (bumper) определенного типа вагона (product).
Просто беги и не вспоминай больше. Сами бред пишут и тебя заставят.
Если что, я в компаниях с вагонами никогда не работал, но слышал.
Как я понимаю это что-то типа вагонов, которые могу соединяться(mount) путем совмещения своих проушен(eye) и штока(rod). Все это на соединительном механизме (bumper) определенного типа вагона (product).
Просто беги и не вспоминай больше. Сами бред пишут и тебя заставят.
Если что, я в компаниях с вагонами никогда не работал, но слышал.
(6)
Проушины в колонках чередуются, помогите доработать.
ВЫБРАТЬ
РесурснаяСпецификация,
Проушина1,
Проушина2
ИЗ
(ВЫБРАТЬ
Спецификации.Ссылка КАК РесурснаяСпецификация,
Спецификации.Характеристика КАК Проушина1,
0 КАК Проушина2
ИЗ
Справочник.РесурсныеСпецификации.МатериалыИУслуги КАК Спецификации
ГДЕ
Спецификации.Ссылка В ИЕРАРХИИ (&Амортизаторы)
И Спецификации.Номенклатура.Наименование ПОДОБНО "проушина%"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
Спецификации.Ссылка КАК РесурснаяСпецификация,
0,
Спецификации.Характеристика КАК Проушина2
ИЗ
Справочник.РесурсныеСпецификации.МатериалыИУслуги КАК Спецификации
ГДЕ
Спецификации.Ссылка В ИЕРАРХИИ (&Амортизаторы)
И Спецификации.Номенклатура.Наименование ПОДОБНО "проушина%") КАК Проушина
ПоказатьПроушины в колонках чередуются, помогите доработать.
(14)
Берешь Excel в нем заводишь исходные данные (не всю таблицу со сто миллионов строк, а только пару строк, что бы можно было понять нюансы),
далее таблица что хочешь получить.
Делаешь прин скин и прикрепляешь сюда.
(ВЫБРАТЬ
Спецификации.Ссылка КАК РесурснаяСпецификация,
Спецификации.Характеристика КАК Проушина1,
0 КАК Проушина2
Спецификации.Ссылка КАК РесурснаяСпецификация,
Спецификации.Характеристика КАК Проушина1,
0 КАК Проушина2
Берешь Excel в нем заводишь исходные данные (не всю таблицу со сто миллионов строк, а только пару строк, что бы можно было понять нюансы),
далее таблица что хочешь получить.
Делаешь прин скин и прикрепляешь сюда.
(17)
ВЫБРАТЬ
Спецификации.Ссылка КАК Спецификация,
Спецификации.Характеристика
СУММА(1) КАК НомерХарактеристики
ПОМЕСТИТЬ ВТНумерацияХарактеристик
ИЗ
Справочник.РесурсныеСпецификации.МатериалыИУслуги КАК Спецификации
Левое Соединение Справочник.РесурсныеСпецификации.МатериалыИУслуги КАК НумерацияХарактеристик
По Спецификации.Ссылка = НумерацияХарактеристик.Ссылка
И Спецификации.Характеристика > НумерацияХарактеристик.Характеристика
ГДЕ
Спецификации.Ссылка В ИЕРАРХИИ (&Амортизаторы)
И Спецификации.Номенклатура.Наименование ПОДОБНО "проушина%"
СГРУППИРОВАТЬ ПО
Спецификации.Ссылка,
Спецификации.Характеристика
;
Выбрать
Спецификация.Ссылка КАК РесурснаяСпецификация,
Характеристика1.Характеристика КАК Характеристика1,
Характеристика2.Характеристика КАК Характеристика2
ИЗ
Справочник.РесурсныеСпецификации КАК Спецификация
ЛЕВОЕ СОЕДИНЕНИЕ ВТНумерацияХарактеристик КАК Характеристика1
ПО Спецификация.Ссылка = Характеристика1.Спецификация
И Характеристика1.НомерХарктеристики = 1
ЛЕВОЕ СОЕДИНЕНИЕ ВТНумерацияХарактеристик КАК Характеристика2
ПО Спецификация.Ссылка = Характеристика1.Спецификация
И Характеристика2.НомерХарктеристики = 2
Показать