Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 12:45

Запросик

Автор fiftystars, 03 дек 2011, 14:51

0 Пользователей и 1 гость просматривают эту тему.

fiftystars

Блин люди мне стыдно что такой вопрос задаю но с запросами оооочень давно не работал.
Вобщем есть к примеру 2 таблицы:Таблица1 и Таблица2
допустим в каждой по одному полю
Заполнение таблицы1 :
1
2
3
4
5
6
7
Заполнение таблицы2 :
1
2
3
5
6

Какой запрос нужен чтобы оставить только 4 и 7 ? то есть оставить только те значения из таблицы1 которых нет в таблице2
Блин знаю позорный вопрос, но я за 5 лет  вобще в SQL всё забыл =)

fiftystars

Вобщем остался последний шаг
сделал так
выбрать
   заказы.ссылка,
    закрытые
из
   Документ.ЗаказПокупателя КАК ЗАКАЗЫ
полное внешнее соединение
    (выбрать
    ЗакрытиеТаб.ЗаказПокупателя.ссылка как Закрытые
    из
    Документ.ЗакрытиеЗаказовПокупателей.Заказы как ЗакрытиеТаб
    сгруппировать по ЗакрытиеТаб.заказпокупателя.ссылка) как закрыто
по  ЗАКАЗЫ.ссылка = закрытые
На выходе таблица
1-1
2-2
3-3
4-null
5-5
6-6
7-null
Вобщем подскажите как проверить на null ?
типа ГДЕ закрытые=null но это не работает

fiftystars

Вобщем если что то это УТ 10.3 и я незакрытые заказы вывести пытаюсь

ВЫБРАТЬ
    Заказы,
    Закрытые
ИЗ   
    (ВЫБРАТЬ
         заказы.ссылка как Заказы,
         ЗакрытиеТаб.ЗаказПокупателя.ссылка как Закрытые
     ИЗ
         Документ.ЗаказПокупателя КАК ЗАКАЗЫ
     ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ
         Документ.ЗакрытиеЗаказовПокупателей.Заказы как ЗакрытиеТаб
     ПО ЗакрытиеТаб.ЗаказПокупателя.ссылка=заказы.ссылка) как Запрос

fiftystars

Решено 2 способами :D ура)
первый мой второй подсказали синтаксис
я писал  ГДЕ Закрытые = Null
:zebzdr: :zebzdr:


ВЫБРАТЬ
Заказы,
Закрытые
ИЗ
(ВЫБРАТЬ
заказы.ссылка как Заказы,
ВЫБОР
КОГДА ЗакрытиеТаб.ЗаказПокупателя.ссылка ЕСТЬ NULL ТОГДА НЕОПРЕДЕЛЕНО
КОНЕЦ    как закрытые
ИЗ
Документ.ЗаказПокупателя КАК ЗАКАЗЫ
ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ
Документ.ЗакрытиеЗаказовПокупателей.Заказы как ЗакрытиеТаб
ПО ЗакрытиеТаб.ЗаказПокупателя.ссылка=заказы.ссылка) как Запрос
где закрытые = НЕОПРЕДЕЛЕНО


ВЫБРАТЬ
    Заказы,
    Закрытые
ИЗ   
    (ВЫБРАТЬ
         заказы.ссылка как Заказы,
         ЗакрытиеТаб.ЗаказПокупателя.ссылка как Закрытые
     ИЗ
         Документ.ЗаказПокупателя КАК ЗАКАЗЫ
     ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ
         Документ.ЗакрытиеЗаказовПокупателей.Заказы как ЗакрытиеТаб
     ПО ЗакрытиеТаб.ЗаказПокупателя.ссылка=заказы.ссылка) как Запрос
ГДЕ закрытые ЕСТЬ NULL

1Cnastroika

Есть условие типа <Выражение> В (Список значений) или <Выражение> Не В (Список значений)

Попробуйте сделать так

Выбрать X из Б
где X не В (Выбрать Y из  Г)

fiftystars

Цитата: 1Cnastroika от 03 дек 2011, 19:52
Есть условие типа <Выражение> В (Список значений) или <Выражение> Не В (Список значений)

Попробуйте сделать так

Выбрать X из Б
где X не В (Выбрать Y из  Г)
да все я сделал уже спасибо)) я просто с синтаксисом проверки на Null затупил))

Klyacksa

Зачем же полное внешнее соединение? Это будет долго! И зачем подзапрос?
Достаточно так:
ВЫБРАТЬ
         заказы.ссылка как Заказы,
         ЗакрытиеТаб.ЗаказПокупателя как Закрытые
     ИЗ
         Документ.ЗаказПокупателя КАК ЗАКАЗЫ
     ЛЕВОЕ СОЕДИНЕНИЕ
         Документ.ЗакрытиеЗаказовПокупателей.Заказы как ЗакрытиеТаб
     ПО ЗакрытиеТаб.ЗаказПокупателя=заказы.ссылка
ГДЕ Закрытые ЕСТЬ NULL
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

fiftystars

Цитата: Klyacksa от 05 дек 2011, 11:41
Зачем же полное внешнее соединение? Это будет долго! И зачем подзапрос?
Достаточно так:
ВЫБРАТЬ
         заказы.ссылка как Заказы,
         ЗакрытиеТаб.ЗаказПокупателя как Закрытые
     ИЗ
         Документ.ЗаказПокупателя КАК ЗАКАЗЫ
     ЛЕВОЕ СОЕДИНЕНИЕ
         Документ.ЗакрытиеЗаказовПокупателей.Заказы как ЗакрытиеТаб
     ПО ЗакрытиеТаб.ЗаказПокупателя=заказы.ссылка
ГДЕ Закрытые ЕСТЬ NULL

подзапрос был на стадии отладки)
его давно нет
вопрос собственно был в условии))
а соединение я тоже подправил уже)

Теги:

Похожие темы (3)

Рейтинг@Mail.ru

Поиск