Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Нужна Ваша подсказка с запросом / 11 сообщений из 11, страница 1 из 1
14.08.2009, 12:37
    #36144087
reno86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна Ваша подсказка с запросом
Привет.
Немогу понять как написать запрос следующего плана: Есть первая таблица (Контрагент, Договор, Сумма), нужно выбрать все записи, которых нет во второй таблице с полями (Контрагент, Договор)

Конструкция такого типа результата не дает:
Код: plaintext
1.
2.
3.
Select Контрагент, Договор, Сумма 
From Table1
Where Контрагент not in (Select Контрагент From Table  2 )

Как быть, подскажите пожалуйста.
...
Рейтинг: 0 / 0
14.08.2009, 12:47
    #36144140
Хитроглазый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна Ваша подсказка с запросом
reno86, как-то так

Select Контрагент, Договор, Сумма
From Table1 t1 left join Table2 t2 on (t1.Контрагент=t2.Контрагент) and (t1.Договор=t2.Договор)
Where t2.Договор is null
...
Рейтинг: 0 / 0
14.08.2009, 12:49
    #36144147
Хитроглазый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна Ваша подсказка с запросом
чтоб уж совсем точно:
Код: plaintext
1.
2.
Select t1.Контрагент, t1.Договор, t1.Сумма
From Table1 t1 left join Table2 t2 on (t1.Контрагент=t2.Контрагент) and (t1.Договор=t2.Договор)
Where t2.Договор is null
...
Рейтинг: 0 / 0
14.08.2009, 13:06
    #36144224
RustamZz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна Ваша подсказка с запросом
Можно вот так:

Код: plaintext
1.
2.
3.
Select Контрагент, Договор, Сумма 
From Table1
Where (Контрагент, Договор) not in (Select Контрагент, Договор From Table2)
...
Рейтинг: 0 / 0
14.08.2009, 17:08
    #36145173
reno86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна Ваша подсказка с запросом
RustamZz,
а приминительно к 1с такая конструкция будет работать?
...
Рейтинг: 0 / 0
14.08.2009, 17:46
    #36145247
Нужна Ваша подсказка с запросом
RustamZzМожно вот так:

Код: plaintext
1.
2.
3.
Select Контрагент, Договор, Сумма 
From Table1
Where (Контрагент, Договор) not in (Select Контрагент, Договор From Table2)


По-моему это работать не будет. Пользуйся лучше советом хитроглазого
...
Рейтинг: 0 / 0
17.08.2009, 13:47
    #36147630
reno86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна Ваша подсказка с запросом
Спасибо, заработало! =)
...
Рейтинг: 0 / 0
17.08.2009, 13:52
    #36147650
reno86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна Ваша подсказка с запросом
А еще вот такой момент, В запрос не попадают данные за последний день, хотя я явно указываю дату 31.07.2009 23:59:59.
Если делать программно, то нужно добавить Новый Граница(Дата, ВидГраницы.Включая)), а как такое сделать если я использую "Схему компановки данных"?
...
Рейтинг: 0 / 0
17.08.2009, 15:41
    #36148053
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна Ваша подсказка с запросом
...
Рейтинг: 0 / 0
17.08.2009, 15:46
    #36148072
RustamZz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна Ваша подсказка с запросом
Денисов ДмитрийRustamZzМожно вот так:
По-моему это работать не будет. Пользуйся лучше советом хитроглазого
Можешь проверить
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
ВЫБРАТЬ
	&Контрагент1 КАК Контрагент,
	&Договор1 КАК Договор,
	 100  КАК Сумма
ПОМЕСТИТЬ Таблица1

ОБЪЕДИНИТЬ

ВЫБРАТЬ
	&Контрагент1,
	&Договор2,
	 200 
ВЫБРАТЬ
	&Контрагент1 КАК Контрагент,
	&Договор1 КАК Договор,
	 100  КАК Сумма
ПОМЕСТИТЬ Таблица1

ОБЪЕДИНИТЬ

ВЫБРАТЬ
	&Контрагент1,
	&Договор2,
	 200 

ОБЪЕДИНИТЬ

ВЫБРАТЬ
	&Контрагент2,
	&Договор1,
	 300 
;;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	&Контрагент1 КАК Контрагент,
	&Договор1 КАК Договор
ПОМЕСТИТЬ Таблица2
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	Таблица1.Контрагент,
	Таблица1.Договор,
	Таблица1.Сумма
ИЗ
	Таблица1 КАК Таблица1
ГДЕ
	(НЕ (Таблица1.Контрагент, Таблица1.Договор) В
				(ВЫБРАТЬ
					Таблица2.Контрагент,
					Таблица2.Договор
				ИЗ
					Таблица2))
Не выходит только первая строка. Что и требовалось топикстартеру.
...
Рейтинг: 0 / 0
17.08.2009, 19:38
    #36148635
слоненок
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна Ваша подсказка с запросом
RustamZz, работает.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Нужна Ваша подсказка с запросом / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]