Соединить 2 таблицы в запросе #790356


#0 by iogann1691
Всем доброго времени суток. Нужно соединить 2 таблицы в запросе, т.е. 1-ая таблица |Работник|Начисление|СуммаНачисление Нужно чтобы получилось |Работник|Начисление|Удержание|СуммаНачисление|СуммаУдержание |Иванов  |Оклад     |ОПВ      |15000          |1500 |Иванов  |          |ИПН      |               |1200 Нужно именно в запросе, делаю на СКД, постобработку не предлагать
#1 by Ёпрст
А почему, не так, например ? |Работник|Начисление|Удержание|СуммаНачисление|СуммаУдержание |Иванов  |Оклад     |ИПН      |15000          |1200 |Иванов  |          |ОПВ      |               |1500
#2 by Ёпрст
По какому принципу будешь "скрещивать" ? Так-то, обычным юнионом у тебя только так выйдет: |Иванов  |          |ИПН      |               |1200
#3 by Defender aka LINN
Нужно - делай. Мы не возражаем.
#4 by iogann1691
так вот и я про то же, поэтому и пришел за помощью
#5 by Жан Пердежон
Предлагаю так:
#6 by mkalimulin
Тут вам без нумерации строк таблицы не обойтись. Еще эта задача называется "накопительный итог в запросе". Поищите примеры решения. Пользуйтесь конструктором JUG. Там есть библиотека шаблонов и этот случай тоже.
#7 by iogann1691
так не пойдет, т.к. СКД с размеченными областями, чтобы было понятнее принцип расчетного листка Начисления| Удержания Оклад     | ОПВ           | ИПН
#8 by Жан Пердежон
Добавь колонку с номером и по нему соединяй
#9 by iogann1691
вариант, сейчас попробую
#10 by AlexTim03
Объединение таблиц + группировка. Все.
#11 by AlexTim03
выбрать Работник, Начисления, СуммаНачисления, Неопределено КАК Удержания, 0 КАК СуммаУдержания объединить Работник, Неопределено 0, Удержания, СуммаУдержания
#12 by iogann1691
АВВзаиморасчетыСРаботникамиУчрежденийОбороты.РазмерПриход,         АВВзаиморасчетыСРаботникамиУчрежденийОбороты.СуммаВзаиморасчетаПриход     ИЗ АВТОУПОРЯДОЧИВАНИЕ
#13 by mkalimulin
Продолжай.
#14 by iogann1691
так не работает
#15 by Жан Пердежон
ясен пень, в херню насоветовали
#16 by iogann1691
получилось так же как и в ВЫБРАТЬ     АВВзаиморасчетыСРаботникамиУчрежденийОбороты.Работник КАК Работник,     АВВзаиморасчетыСРаботникамиУчрежденийОбороты.РазмерПриход, ВЫБРАТЬ     АВВзаиморасчетыСРаботникамиУчрежденийОбороты.РазмерПриход,
#17 by mkalimulin
Я же говорю - номера генерить надо. Взял первую таблицу, пронумеровал. Взял вторую таблицу, пронумеровал.
#18 by iogann1691
предлагаете нумеровать строки по видам расчета?
#19 by Ёпрст
нумеровать нужно по работничку, потом соединение по работничку и по этому нумеру.
#20 by iogann1691
так я и пронумеровал по работничку в
#21 by mkalimulin
Неправильно пронумеровали.
#22 by iogann1691
готов принять поправку
#23 by mkalimulin
Долго объяснять. Посмотрите пример решения задачи "накопительный итог в запросе". Это ваш случай.
#24 by Ёпрст
в каком месте ? Присвоив всем работникам одинаковый номер в виде единички ?
#25 by iogann1691
где вы там одинаковый номер видели?
#26 by Ёпрст
1 КАК НомерСтроки
#27 by iogann1691
а как же далее?
#28 by iogann1691
очень даже нумеруются работники, старый, давно рабочий пример
#29 by Ёпрст
Далее не смотрел, ибо не интересно
#30 by Ёпрст
Ибо последний запрос не верный, там где иннер джоин у тебя
#31 by Ёпрст
ибо таким образом ты херишь строки, где удержаний или начислений больше.. ты оставляешь только совпадения по номеру строки.
#32 by iogann1691
допустим это будет так:                 И ВТ_Начисления.НомерСтроки = ВТ_Удержания.НомерСтроки) все равно тот же результат
#33 by Ёпрст
Допустим, это не верно, см.
#34 by iogann1691
не спорю, раз неверно отрабатывает
#35 by Ёпрст
И ? Мыслей нема, что ле ?
#36 by iogann1691
всем спасибо, получилось вот так: //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ     ВТ_Начисления.ВидРасчета КАК ВидРасчетаНачисление, ИЗ может кому пригодится
#37 by DrZombi
Спасибо, но мы как то без этого ужаса :)
#38 by Ёпрст
см. - у тебя у половины строк, может не оказаться работничка и других реквизитов при полном соединении, нужно ЕстьNULL втыкать из двух табличек в селекте.
#39 by iogann1691
точно, спасибо, воспользовался ЕСТЬNULL  и все гуд
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С