|
СКД и условие при связи двух наборов
| ☑ |
0
СтоСорокПервый
05.10.16
✎
18:53
|
Есть две внешние таблицы А и В. В каждой таблице по два поля, одно типа Номенклатура, второе типа число. Можно ли средства СКД выбрать те записи для которых числовое поле в таблице В не равно числовому полю в таблице А. То есть, получить средствами СКД результат следующего запроса:
Выбрать
А.Поле1,
А.Поле2
Поместить А
Из
&А Как А
;
Выбрать
В.Поле1,
В.Поле2
Поместить В
Из
&В Как В
;
Выбрать
А.Поле1,
В.Поле2
Из
А Как А
Левое соединение В как В
По А.Поле1=В.Поле1
И А.Поле1<>В.Поле2
Допустим задали Набор-Объекты, в коде добавили эти таблицы в параметры, прописали связь по полю1. Как с полем 2 быть? Спасибо.
|
|
1
СтоСорокПервый
05.10.16
✎
18:59
|
* пардон, опечатка, конечно же, в предпоследней строке предыдущего сообщения:
И А.Поле2<>В.Поле2
|
|
2
iceman2112
05.10.16
✎
19:34
|
конкретно так нужно? а 2 таблици в запрос а потом скд не пойдет?
|
|
3
СтоСорокПервый
05.10.16
✎
20:24
|
Да. Ибо интересуют, именно, возможности СКД в этом плане. Если это возможно - хотелось бы узнать как. Если это невозможно - это просто хочется знать, чтобы закрыть для себя данный вопрос. И делать уже по предложенному Вами пути, к примеру.
|
|
4
Franchiser
гуру
05.10.16
✎
21:07
|
(3) Можно.
Во второй наборе Поле2 называешь как Поле3.
После чего связываешь наборы по Поле1.
Делаешь отбор в СКД Поле2 (тип полекомпоновки) <> Поле3 (крестик -> тип полекомпоновки)
|
|
5
Franchiser
гуру
05.10.16
✎
21:16
|
Это если внутреннее соединение...
Имитация левого в данном случае можно думаю сделать заменив расчет Поля2 на вычисляемое поле сравнив Поле2 и Поле3
Выбор когда Поле3 Есть Null тогда Поле2 Иначе Поле3 Конец
|
|
6
СтоСорокПервый
05.10.16
✎
21:22
|
(4) (5) Спасибо, буду завтра пробовать. Через отбор я их вязать не пробовал. Похоже, это должно сработать.
|
|
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан