Имя: Пароль:
1C
1С v8
Прошу помощи с запросом
0 live in sky dreams
 
09.09.13
00:03
Помогите составить запрос.

Есть ТЗ_1, ТЗ_2

В ТЗ_1:
Номенклатура_1 | НекоеЗначениеПоля1 | НекоеЗначениеПоля2
Номенклатура_2 | НекоеЗначениеПоля1 | НекоеЗначениеПоля2
Номенклатура_3 | НекоеЗначениеПоля1 | НекоеЗначениеПоля2
Номенклатура_4 | НекоеЗначениеПоля1 | НекоеЗначениеПоля2
Номенклатура_5 | НекоеЗначениеПоля1 | НекоеЗначениеПоля2

В ТЗ_2:
Номенклатура_3 | НекоеЗначениеПоля1 | НекоеЗначениеПоля2
Номенклатура_5 | НекоеЗначениеПоля1 | НекоеЗначениеПоля2

В Результате нужно получить на выходе:
Номенклатура_1 | НекоеЗначениеПоля1 | НекоеЗначениеПоля2 | ЗначениеБулево
Номенклатура_2 | НекоеЗначениеПоля1 | НекоеЗначениеПоля2 | ЗначениеБулево
Номенклатура_3 | НекоеЗначениеПоля1 | НекоеЗначениеПоля2 | ЗначениеБулево
Номенклатура_4 | НекоеЗначениеПоля1 | НекоеЗначениеПоля2 | ЗначениеБулево
Номенклатура_5 | НекоеЗначениеПоля1 | НекоеЗначениеПоля2 | ЗначениеБулево

Где значение булево = "Эта Номенклатура присутствует в обеих таблицах"

Чего то не догоню...

Пока остановился на:

ВЫБРАТЬ
   Номенклатура
ПОМЕСТИТЬ В ВремТЗ

ИЗ
   ТЗ_2;


ВЫБРАТЬ
   Номенклатура,
   НекоеЗначениеПоля1,
   НекоеЗначениеПоля2,
   НекоеЗначениеПоля3,
   <ВОТ ТУТ КАК ОПИСАТЬ БУЛЕВО?>

ИЗ
   ТЗ_1
1 Нуф-Нуф
 
09.09.13
00:05
Соедини! Будь мужиком, блеать!
2 live in sky dreams
 
09.09.13
00:08
Full join?
3 live in sky dreams
 
09.09.13
00:09
+(2)
Full Join + IsNull(...)

это?
4 Нуф-Нуф
 
09.09.13
00:22
Да
5 live in sky dreams
 
09.09.13
00:24
получилось что то вот:

ВЫБРАТЬ
   ЕстьNull(ТЗ_2.Номенклатура, ТЗ_1.Номенклатура) Номенклатура,
   ЕстьNull(ТЗ_2.НекоеЗначениеПоля1, ТЗ_1.НекоеЗначениеПоля1) КАК НекоеЗначениеПоля1,
   ЕстьNull(ТЗ_2.НекоеЗначениеПоля2, ТЗ_1.НекоеЗначениеПоля2) КАК НекоеЗначениеПоля2,
   ЕстьNull(ТЗ_2.НекоеЗначениеПоля3, ТЗ_1.НекоеЗначениеПоля3) КАК НекоеЗначениеПоля3,
   Выбор Когда (ТЗ_1.Номенклатура + ТЗ_2.Номенклатура) = NULL Тогда Ложь ИНАЧЕ Истина КАК НоменклатураВОбоихСписках
ИЗ
   ТЗ_1
   ПОЛНОЕ СОЕДИНЕНИЕ
      ТЗ_2 ПО ТЗ_2.Номенклатура = ТЗ_1.Номенклатура


Вроде оно, не?
6 Нуф-Нуф
 
09.09.13
00:27
Похоже
7 live in sky dreams
 
09.09.13
00:27
Спасибо!
8 vicof
 
09.09.13
07:24
А внутреннее соединение не судьба использовать?
9 SeraFim
 
09.09.13
07:44
(8) значение булево = "Эта Номенклатура присутствует в обеих таблицах"

при внутреннем будет везде ИСТИНА