|
Соединение двух таблиц | ☑ | ||
---|---|---|---|---|
0
antiteror91
17.03.14
✎
20:09
|
У меня есть 2 таблицы. Предположим в одной: Стул, Стол, Шкаф
Во Второй: стул, шкаф. В итоге мне необходимо получить Стол.Запутался что-то не могу сообразить....Сильно не ругайте за такой простой вопрос.... написал запрос: ВЫБРАТЬ СписаниеБСОТовары.Номенклатура КАК Номенклатура ПОМЕСТИТЬ ВТСписаннаяНоменклатура ИЗ Документ.СписаниеБСО.Товары КАК СписаниеБСОТовары ГДЕ СписаниеБСОТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СтатусыБланковСтрогойОтчетностиСрезПоследних.Бланк.Владелец КАК Номенклатура, СтатусыБланковСтрогойОтчетностиСрезПоследних.Бланк КАК Бланк, СтатусыБланковСтрогойОтчетностиСрезПоследних.Статус, НАЧАЛОПЕРИОДА(СтатусыБланковСтрогойОтчетностиСрезПоследних.Период, МЕСЯЦ) КАК Поле, СтатусыБланковСтрогойОтчетностиСрезПоследних.Бланк.Владелец ИЗ РегистрСведений.СтатусыБланковСтрогойОтчетности.СрезПоследних(&ДатаОкончания, ) КАК СтатусыБланковСтрогойОтчетностиСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ Документ.СписаниеБСО.Товары КАК СписаниеБСОТовары ПО не (СтатусыБланковСтрогойОтчетностиСрезПоследних.Бланк.Владелец = СписаниеБСОТовары.Номенклатура) ГДЕ СписаниеБСОТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания И СписаниеБСОТовары.Номенклатура ЕСТЬ NULL УПОРЯДОЧИТЬ ПО Номенклатура, Поле, Бланк но этот запрос ничего не возвращает.... почему подскажите пожалуйста где напортачил....??? |
|||
1
zak555
17.03.14
✎
20:12
|
полное соединение is null
|
|||
2
antiteror91
17.03.14
✎
20:12
|
(0) P.S. временная таблица лишняя... это предыдущая попытка
|
|||
3
antiteror91
17.03.14
✎
20:14
|
(1) если вместо левого пишу полное соединение то результат тот же....
|
|||
4
Кремень
17.03.14
✎
20:17
|
эм я что то ваще запутался что тебе надо, если как в начале написал Стул, стол, Шкаф и вторая Стул, Шкаф, то тебе нужна вообще только одна таблица, так как там все данные))) просто ее выводи. Ты напиши что нужно то?
|
|||
5
antiteror91
17.03.14
✎
20:20
|
(4) мне нужно чтобы в результате выводилось только те элементы которые является уникальным из первой таблицы(те которых нету во второй)
|
|||
6
antiteror91
17.03.14
✎
20:21
|
ВЫБРАТЬ
СтатусыБланковСтрогойОтчетностиСрезПоследних.Бланк.Владелец КАК Номенклатура, СтатусыБланковСтрогойОтчетностиСрезПоследних.Бланк КАК Бланк, СтатусыБланковСтрогойОтчетностиСрезПоследних.Статус, НАЧАЛОПЕРИОДА(СтатусыБланковСтрогойОтчетностиСрезПоследних.Период, МЕСЯЦ) КАК Поле, СтатусыБланковСтрогойОтчетностиСрезПоследних.Бланк.Владелец ИЗ РегистрСведений.СтатусыБланковСтрогойОтчетности.СрезПоследних(&ДатаОкончания, ) КАК СтатусыБланковСтрогойОтчетностиСрезПоследних полное СОЕДИНЕНИЕ Документ.СписаниеБСО.Товары КАК СписаниеБСОТовары ПО (СтатусыБланковСтрогойОтчетностиСрезПоследних.Бланк.Владелец = СписаниеБСОТовары.Номенклатура) ГДЕ СписаниеБСОТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания И СписаниеБСОТовары.Номенклатура ЕСТЬ NULL УПОРЯДОЧИТЬ ПО Номенклатура, Поле, Бланк |
|||
7
antiteror91
17.03.14
✎
20:21
|
вот запрос с которым я работаю...
|
|||
8
Кремень
17.03.14
✎
20:27
|
по идее в условии тогда нужно что то типо
Выбор Когда СтатусыБланковСтрогойОтчетностиСрезПоследних.Бланк.Владелец Есть NULL ИЛИ СписаниеБСОТовары.Номенклатура ЕСТЬ NULL Тогда Истина Иначе Ложь Конец |
|||
9
Кремень
17.03.14
✎
20:29
|
у тебя без этого "И СписаниеБСОТовары.Номенклатура ЕСТЬ NULL" возвращает что нить?
|
|||
10
hhhh
17.03.14
✎
20:31
|
(7) ну вот с этим работай
ПО (СтатусыБланковСтрогойОтчетностиСрезПоследних.Бланк.Владелец = СписаниеБСОТовары.Номенклатура) И СписаниеБСОТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания ГДЕ СписаниеБСОТовары.Номенклатура ЕСТЬ NULL |
|||
11
antiteror91
17.03.14
✎
20:33
|
(9) ничего не возвращает...
|
|||
12
Кремень
17.03.14
✎
20:35
|
(11)может у тебя там и данных нет? ты сначала самые первые выборки потесть, чтоб возвращали данные, потом уже соединяй.
|
|||
13
antiteror91
17.03.14
✎
20:39
|
(12) данные есть я проверил.... получается что строки которые не удовлетворяют правилу СтатусыБланковСтрогойОтчетностиСрезПоследних.Бланк.Владелец = СписаниеБСОТовары.Номенклатура он не выводит........
|
|||
14
antiteror91
17.03.14
✎
20:39
|
(13) он их исключает.......
|
|||
15
bahtik
17.03.14
✎
21:55
|
(5) Не разбирался в твоем запросе, но если тебе нужны записи из первой таблицы, которых нет во второй, то это же просто вот так:
Выбрать ВтораяТаблица.Поле Поместить ВТ Из ВтораяТаблица КАК ВтораяТаблица ; //////////////////////////////////////////////// Выбрать ПерваяТаблица.Поле Из ПерваяТаблица КАК ПерваяТаблица Где Не ПерваяТаблица.Поле В (Выбрать ВТ.Поле Из ВТ) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |