0
Mustang
07.02.14
✎
14:16
|
Здравствуйте, подскажите в решении следующей задачи:
Пример запроса в СКД:
Select //Таблица №1
РегистрТоварыНаСкладах.Номенклатура as Номенклатура,
РегистрТоварыНаСкладах.Характеристика as Характеристика,
РегистрТоварыНаСкладах.КоличествоBalance as Количество
Into
ТаблицаТоварыНаСкладах
From
AccumulationRegister.ТоварыНаСкладах.Balance as РегистрТоварыНаСкладах
{Where
РегистрТоварыНаСкладах.Склад.*
}
;
Select //Таблица №2
РегистрТоварыНаСкладах.Номенклатура as Номенклатура,
РегистрТоварыНаСкладах.Характеристика as Характеристика,
РегистрТоварыНаСкладах.КоличествоBalance as Количество,
ТаблицаТоварыНаСкладах.Количество as КоличествоСоединение
{Select
Номенклатура.*,
Характеристика.*,
Количество,
КоличествоСоединение
}
From
AccumulationRegister.ТоварыНаСкладах.Balance as РегистрТоварыНаСкладах
Left join
ТаблицаТоварыНаСкладах as ТаблицаТоварыНаСкладах
on
((ТаблицаТоварыНаСкладах.Номенклатура = РегистрТоварыНаСкладах.Номенклатура) and (ТаблицаТоварыНаСкладах.Характеристика = РегистрТоварыНаСкладах.Характеристика))
Этот запрос позволяет сделать отбор по "Складу" только по первой таблице во второй таблице фильтр на "Склад" не действует.
Если тоже самое сделать разделив таблицы в разные наборы данных и соедниение сделать через "Связь наборов данных", то отбор уже действует на обе таблицы.
Иными словами получается внутренне соединение, а не левое. Хотя в описаниях сказано что "Связь наборов данных" аналогичено левому соединению.
Запросы наборов данных:
Select //Набор данных №1
РегистрТоварыНаСкладах.Номенклатура as Номенклатура,
РегистрТоварыНаСкладах.Характеристика as Характеристика,
РегистрТоварыНаСкладах.КоличествоBalance as Количество
{Select
Номенклатура.*,
Характеристика.*,
Количество
}
From
AccumulationRegister.ТоварыНаСкладах.Balance as РегистрТоварыНаСкладах
Select //Набор данных №2
РегистрТоварыНаСкладах.Номенклатура as Номенклатура,
РегистрТоварыНаСкладах.Характеристика as Характеристика,
РегистрТоварыНаСкладах.КоличествоBalance as КоличествоСоединение
Into
ТаблицаТоварыНаСкладах
From
AccumulationRegister.ТоварыНаСкладах.Balance as РегистрТоварыНаСкладах
{Where
РегистрТоварыНаСкладах.Склад.*
}
;
Select
ТаблицаТоварыНаСкладах.Номенклатура as Номенклатура,
ТаблицаТоварыНаСкладах.Характеристика as Характеристика,
ТаблицаТоварыНаСкладах.КоличествоСоединение as КоличествоСоединение
{Select
Номенклатура.*,
Характеристика.*,
КоличествоСоединение
}
From
ТаблицаТоварыНаСкладах as ТаблицаТоварыНаСкладах
Все запросы не реальные, а сделаны для упрощения понимания задачи!
|
|