Вход | Регистрация
 

Противоположный результат в запросе

Противоположный результат в запросе
Я
   NIGHTHUNTER
 
18.01.21 - 06:09
В запросе, без условия И (НоменклатураТехническиеХарактеристики.Ссылка <> NULL)
выбираются строки, в которых есть не нужные значения. Смотрю там NULL, добавляю это условие, из запроса вообще пропадают нужные строки.
И остаются те у которых именно в поле Ссылка есть NULL, от чего это так????




ВЫБРАТЬ
    КоммерческоеПредложениеСоставляющие.Ссылка.Номер КАК Номер,
    КоммерческоеПредложениеСоставляющие.Номенклатура КАК Номенклатура,
    НоменклатураТехническиеХарактеристики.Свойство КАК Свойство,
    НоменклатураТехническиеХарактеристики.Значение КАК Значение,
    НоменклатураТехническиеХарактеристики.Ссылка КАК Ссылка
ИЗ
    Документ.КоммерческоеПредложение.Составляющие КАК КоммерческоеПредложениеСоставляющие
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ТехническиеХарактеристики КАК НоменклатураТехническиеХарактеристики
        ПО КоммерческоеПредложениеСоставляющие.Номенклатура = НоменклатураТехническиеХарактеристики.Ссылка
            И (НоменклатураТехническиеХарактеристики.Свойство <> "")
            И (НоменклатураТехническиеХарактеристики.Ссылка <> NULL)
ГДЕ
    КоммерческоеПредложениеСоставляющие.Ссылка = &Ссылка
   ДенисЧ
 
1 - 18.01.21 - 06:38
Никогда в запросах нельзя использовать выражение <> NULL
   NIGHTHUNTER
 
2 - 18.01.21 - 07:17
(1) То есть это принципиально? Видимо нет знаний. Попробую  И Не НоменклатураТехническиеХарактеристики.Ссылка Есть NULL

Я сделал вот так, но все равно выбрались записи с NULL  в Ссылка, что не так я делаю?


ВЫБРАТЬ
    КоммерческоеПредложениеСоставляющие.Ссылка.Номер КАК Номер,
    КоммерческоеПредложениеСоставляющие.Номенклатура КАК Номенклатура,
    НоменклатураТехническиеХарактеристики.Свойство КАК Свойство,
    НоменклатураТехническиеХарактеристики.Значение КАК Значение,
    НоменклатураТехническиеХарактеристики.Ссылка КАК Ссылка
ИЗ
    Документ.КоммерческоеПредложение.Составляющие КАК КоммерческоеПредложениеСоставляющие
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ТехническиеХарактеристики КАК НоменклатураТехническиеХарактеристики
        ПО КоммерческоеПредложениеСоставляющие.Номенклатура = НоменклатураТехническиеХарактеристики.Ссылка
            И (НоменклатураТехническиеХарактеристики.Свойство <> "")
            И (НЕ НоменклатураТехническиеХарактеристики.Ссылка Есть NULL)
ГДЕ
    КоммерческоеПредложениеСоставляющие.Ссылка = &Ссылка
   ДенисЧ
 
3 - 18.01.21 - 07:24
А какого овоща ты условие на NULL пихаешь в условие соединения? У тебя там его никогда не будет, оно будет только ПОСЛЕ соединения.

Так что или бегом матчасть учить и не появляться на форуме, пока не сдашь спеца по платформе.
Или чистый лист бумаги и шариковая ручка.
   Web00001
 
4 - 18.01.21 - 07:25
(0)Любое сравнение с null всегда возвращает ложь
(2)Если надо наложить условие на выборку накладывай в секции "ГДЕ" Здесь она просто докидывает справа то, чего нет слева. В момент выборки разумеется там нет NULL, ответь на вопрос, если ты не накладываешь условие, что должно там быть?
   NIGHTHUNTER
 
5 - 18.01.21 - 07:26
(3) Согласен на оба варианта!!! Но в реальности получается, как получается. Как проходит все. Так что пока думаю над запросом.
   NIGHTHUNTER
 
6 - 18.01.21 - 07:44
(3) Сказали мне что вот это нужно помещать в условие соединения, не в условия

     И (НоменклатураТехническиеХарактеристики.Свойство <> "")

Там хоть как делай, выбирается не то что нужно и я не понимаю почему.
   NIGHTHUNTER
 
7 - 18.01.21 - 07:47
Сколько я не продубасился, но нормальный результат выдал только вот этот запрос, -

ВЫБРАТЬ
    КоммерческоеПредложениеСоставляющие.Ссылка.Номер КАК Номер,
    КоммерческоеПредложениеСоставляющие.Номенклатура КАК Номенклатура,
    НоменклатураТехническиеХарактеристики.Свойство КАК Свойство,
    НоменклатураТехническиеХарактеристики.Значение КАК Значение,
    НоменклатураТехническиеХарактеристики.Ссылка КАК Ссылка
ИЗ
    Документ.КоммерческоеПредложение.Составляющие КАК КоммерческоеПредложениеСоставляющие
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ТехническиеХарактеристики КАК НоменклатураТехническиеХарактеристики
        ПО КоммерческоеПредложениеСоставляющие.Номенклатура = НоменклатураТехническиеХарактеристики.Ссылка
ГДЕ
    КоммерческоеПредложениеСоставляющие.Ссылка = &Ссылка
    И НЕ НоменклатураТехническиеХарактеристики.Свойство = ""


Где вот это в условии

ГДЕ
    КоммерческоеПредложениеСоставляющие.Ссылка = &Ссылка
    И НЕ НоменклатураТехническиеХарактеристики.Свойство = ""
   NIGHTHUNTER
 
8 - 18.01.21 - 07:49
(7) + Нужно было отобрать значения справочника технические характеристики свойства и значения, у номенклатуры
которая введена в табличную часть документа. Учитывая что в совйстве нет значения "".
   ДенисЧ
 
9 - 18.01.21 - 07:51
А что, у тебя свойство - это строка? А может, всё-таки ссылка на какой-то справочник?
   NIGHTHUNTER
 
10 - 18.01.21 - 08:03
(9) Это табличная часть, где я сделал строку.
Пользователю нужно в ручную заполнять. Ну я так и сделал.
И мало того, в одной табличной части справочника, я ввел 3 строки, пустые. Вроде как ограничение для заполнения.
А в другой, ТехническиеХарактеристики 17 строк. Так вот сделал, так решил. И сейчас все это обрабатываю.
Нужно выборку сделать для макета. Что то понимаю, что заморочился уже (. На элементарном забуксовал .
   hhhh
 
11 - 18.01.21 - 08:51
(9) не, в предыдущих 15 темах вроде строка.
   NIGHTHUNTER
 
12 - 18.01.21 - 09:01
(11) По вашему совету делал условие в соединении
   hhhh
 
13 - 18.01.21 - 09:05
(12) я такого не советовал. NULL в соединении?
   hhhh
 
14 - 18.01.21 - 09:06
(12) NULL как раз нужно в ГДЕ.
   NIGHTHUNTER
 
15 - 18.01.21 - 09:09
Если             |    И НЕ НоменклатураТехническиеХарактеристики.Свойство = """"";

так верно будет в конфигураторе? 
А то в консоле отбирает а в конфигураторе нет
   mikecool
 
16 - 18.01.21 - 10:02
автора пора с волчьим билетом гнать из профессии
   NIGHTHUNTER
 
17 - 18.01.21 - 10:50
(16) Спасибо!

Список тем форума
Рекламное место пустует  Рекламное место пустует
Читай всё полезное и впитывай, а нападки игнорируй. Здесь так принято. aka AMIGO
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.