Добрый день, уважаемые.
То ли лыжи у меня не едут к концу дня, то ли не могу разобраться с элементарной вещью.
Есть один запрос с объеденением:
Select
Спр.ID [Наименование $Справочник.Тел_СобственныеСредства]
, $Спр.Контрагент [Владелец $Справочник.Контрагенты]
, $Спр.РезервПодУС [РезервПодУС $Справочник.Тел_УзелСвязи]
, Спр.CODE [ИнвентарныйНомер $Строка]
, $Спр.СерийныйНомерСтр [СерийныйНомерСтр $Строка]
, $Спр.СерийныйНомер [СерийныйНомер $Справочник.Тел_СерНомер]
, $Спр.Стоимость [Стоимость $Число]
, $Спр.ВидСС [ВидСС $Справочник.Тел_ВидыСС]
, $Спр.ТипСС [ТипСС $Справочник.Тел_ТипыСС]
, $ПоследнееЗначение.Тел_СобственныеСредства.МОЛ(Спр.ID, :ДатаОтчета) [МОЛ $Справочник.ФизЛица]
, $Спр.СрокЭксплуатации [СрокЭксплуатации $Число]
, $ПоследнееЗначение.Тел_СобственныеСредства.МестоХранения(Спр.ID, :ДатаОтчета) [МестоХранения $Справочник.Тел_УзелСвязи]
, $ПоследнееЗначение.Тел_СобственныеСредства.СостояниеСС(Спр.ID, :ДатаОтчета) [СостояниеСС $Справочник.Склады]
, Тел_КомплектацияСС.IDDOC [Партия $Документ.Тел_КомплектацияСС]
, Тел_РазукомплектацияСС.IDDOC [Разукомплектация $Документ.Тел_РазукомплектацияСС]
, $Тел_КомплектацияСССтроки.Номенклатура [Комплектующее $Справочник.Номенклатура]
, $Тел_КомплектацияСССтроки.СерийныйНомер [СерийныйНомерК $Справочник.Тел_СерНомер]
, $Тел_КомплектацияСССтроки.Партия [ПартияКомплекта $Документ.Тел_ПоступлениеТМЦ]
, Номенклатура.ИнвентарныйНомер [ИнвентарныйНомерК $Строка]
, Номенклатура.Стоимость [СтоимостьК $Число]
, Номенклатура.СтавкаНДС [СтавкаНДС $Перечисление.СтавкиНДС]
, Номенклатура.Количество [Количество $Число]
, Номенклатура.МинОстаток [МинОстаток $Число]
, Номенклатура.Единица [Единица $Справочник.Единицы]
, Номенклатура.МОЛ [МОЛК $Справочник.ФизЛица]
, Номенклатура.МестоХранения [МестоХраненияК $Справочник.Тел_УзелСвязи]
From
$Справочник.Тел_СобственныеСредства Спр (nolock)
LEFT OUTER JOIN $Документ.Тел_КомплектацияСС AS Тел_КомплектацияСС With (NOLOCK) ON Спр.ID = $Тел_КомплектацияСС.СобственноеСредство
LEFT OUTER JOIN $Документ.Тел_РазукомплектацияСС AS Тел_РазукомплектацияСС With (NOLOCK) ON Спр.ID = $Тел_РазукомплектацияСС.СобственноеСредство
INNER JOIN $ДокументСтроки.Тел_КомплектацияСС AS Тел_КомплектацияСССтроки ON Тел_КомплектацияСССтроки.IDDOC = Тел_КомплектацияСС.IDDOC
LEFT OUTER JOIN (
SELECT $Тел_ПоступлениеТМЦСтроки.Номенклатура Номенклатура
, $Тел_ПоступлениеТМЦСтроки.СтавкаНДС СтавкаНДС
, Номенклатура.CODE ИнвентарныйНомер
, $Номенклатура.МинОстаток МинОстаток
, $Номенклатура.БазоваяЕдиница Единица
, $Тел_ПоступлениеТМЦ.МОЛ МОЛ
, $Тел_ПоступлениеТМЦ.Объект МестоХранения
, Тел_ПоступлениеТМЦ.IDDOC СсылкаПартия
, Sum($Тел_ПоступлениеТМЦСтроки.Количество) Количество
, Sum($Тел_ПоступлениеТМЦСтроки.Количество * $Тел_ПоступлениеТМЦСтроки.Цена) Стоимость
FROM $ДокументСтроки.Тел_ПоступлениеТМЦ AS Тел_ПоступлениеТМЦСтроки With (NOLOCK)
CROSS JOIN $Справочник.Номенклатура AS Номенклатура With (NOLOCK)
CROSS JOIN $Документ.Тел_ПоступлениеТМЦ AS Тел_ПоступлениеТМЦ With (NOLOCK)
WHERE (Номенклатура.ISFOLDER = 2)
GROUP BY $Тел_ПоступлениеТМЦСтроки.Номенклатура
, $Тел_ПоступлениеТМЦСтроки.СтавкаНДС
, $Номенклатура.БазоваяЕдиница
, $Тел_ПоступлениеТМЦ.МОЛ
, $Номенклатура.МинОстаток
, Номенклатура.CODE
, Тел_ПоступлениеТМЦ.IDDOC
, $Тел_ПоступлениеТМЦ.Объект) AS Номенклатура ON $Тел_КомплектацияСССтроки.Номенклатура = Номенклатура.Номенклатура
AND $Тел_КомплектацияСССтроки.Партия = Номенклатура.СсылкаПартия
Так вот, первая часть запроса по $Справочник.Тел_СобственныеСредства возвращает две строки - сколько есть в документе.
Запрос по номенклатуре, который я левым соединением стыкую - 4-е строки. в итоге в общем результате - 4-е строки,
В чем причина? Ведь по полям объединения - номенклатуре и партии значений два??
Заранее благодарен..