Имя: Пароль:
1C
 
Проблема со связями в запросе
,
0 Альбатрос
 
07.04.15
13:27
|ИЗ
                    |    Документ.ПоступлениеТоваровУслугВНТТ КАК ПоступлениеТоваровУслугВНТТ
                    |        ПОЛНОЕ СОЕДИНЕНИЕ Данные КАК Данные
                    |        ПО ПоступлениеТоваровУслугВНТТ.ИД = Данные.ДокументИД
                    |            И (ПоступлениеТоваровУслугВНТТ.Дата МЕЖДУ &НачДата И &КонДата)
                    |            И (ПоступлениеТоваровУслугВНТТ.ИД ЕСТЬ NULL
                    |                ИЛИ Данные.ДокументИД ЕСТЬ NULL)


Такая конструкция выводит полную хрень
Хочу выбрать одним запросом документы отсутствующие в одной или другой базе за период.
Данные это ТЗ, вытянутая из другой БД.

Как грамотно прописать условия соединения?
1 Ёпрст
 
07.04.15
13:29
(0)
Для начала, избавиться от этого :

И (ПоступлениеТоваровУслугВНТТ.ИД ЕСТЬ NULL
                    |                ИЛИ Данные.ДокументИД ЕСТЬ NULL)
2 Альбатрос
 
07.04.15
13:29
(1) Ну да, а на что заменить?
3 Альбатрос
 
07.04.15
13:30
(1) Это я попытался описать, что мне нужны отсутствующие документы =)
4 Ёпрст
 
07.04.15
13:32
Другая БД - это архивная копия или риб-база ?
5 Ёпрст
 
07.04.15
13:33
или просто, в реквизите ИД  - лежит "ид"-ник документа сторонней базы  ?
6 Альбатрос
 
07.04.15
13:33
(5) В точку
7 Альбатрос
 
07.04.15
13:34
+(6) Который до этого выгружался в мою базу, но из-за различных косяков получилось, что есть такие документы, которые есть в одной базе, но нет в другой и наоборот. Вот я и хочу их выловить.
8 Альбатрос
 
07.04.15
13:37
Как вариант, можно описать поле, которое будет принимать уникальное значение, а потом сделать выборку по этому полю, но некрасиво =)
9 Ёпрст
 
07.04.15
13:38
ну  тогда тупо

Выбрать
Сумма(Таб.Различие),Таб.ИД
Из (
выбрать
  1 как Различие,
  ПоступлениеТоваровУслугВНТТ.ИД как ИД
  ИЗ
Документ.ПоступлениеТоваровУслугВНТТ КАК ПоступлениеТоваровУслугВНТТ
Объединить все
  -1, Данные.ДокументИД ИЗ Данные КАК Данные
)как Таб
Сгруппировать По Таб.ИД
10 Ёпрст
 
07.04.15
13:39
Дальше имеешь табличку, где для ИД дока в Различие:

0 - доки в обеих базах
1 - документ есть только в родной базе
-1 - документ есть только в сторонней базе..

усё
11 Ёпрст
 
07.04.15
13:40
Наслаждаешься, кушаешь печенки :)
12 Альбатрос
 
07.04.15
13:42
(10) Прикольно ))) Спасибо, ща опробую )))