|
Запрос. Связи таблиц. Не равно. <> | ☑ | ||
---|---|---|---|---|
0
prtx
28.05.15
✎
13:07
|
Здравствуйте.
Мне нужно выбрать записи из регистра "ПрайсыПоставщиков", и только те записи "Кода" которых нет в регистре "ПоставляемаяНоменклатура". Вот мой запрос: "ВЫБРАТЬ | ПрайсыПоставщиков.Код, | ПрайсыПоставщиков.Наименование, | ПрайсыПоставщиков.Поставщик |ИЗ | РегистрСведений.ПрайсыПоставщиков КАК ПрайсыПоставщиков | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПоставляемаяНоменклатура КАК ПоставляемаяНоменклатура | ПО ПрайсыПоставщиков.Поставщик = ПоставляемаяНоменклатура.Поставщик | И ПрайсыПоставщиков.Код <> ПоставляемаяНоменклатура.Код" Не могу понять в чем ошибка, выбираются все записи из регистра "ПрайсыПоставщиков", где поставщик = поставщик. Почему одно условие выполняется а второе нет. |
|||
1
чувак
28.05.15
✎
13:09
|
Ты в отладчике проверь один из них на равенство. Може лишные пробелы в одном из них?
|
|||
2
Господин ПЖ
28.05.15
✎
13:10
|
у тебя любые две разные позиции выполняют условия ПрайсыПоставщиков.Код <> ПоставляемаяНоменклатура.Код
|
|||
3
Heckfy
28.05.15
✎
13:11
|
Где ЕСТЬ NULL
|
|||
4
Господин ПЖ
28.05.15
✎
13:12
|
тебе дырки надо искать через null и левое соединение...
|
|||
5
prtx
28.05.15
✎
14:21
|
(1) Не они абсолютно равны.
|
|||
6
prtx
28.05.15
✎
15:01
|
(4) А как через левое соединение?
Если делать левое соединение то я тогда получу все записи из регистра ПрайсыПоставщиков и совпавшие из ПоставляемаяНоменклатура. Не знаю даже как правильно сформулировать то что мне нужно. достать из ПрайсыПоставщиков только те записи в которых есть "код"(он есть во всех записях), и если в ПоставляемаяНоменклатура нет ни одной записи с таким же кодом. Есль можно объясните подробнее как это сделать? я закипел.. |
|||
7
Ёпрст
28.05.15
✎
15:05
|
(6) замени иннер джоин на лефт джоин, выкини условие неравенства и воткни условие на ПоставляемаяНоменклатура.Код есть Null
|
|||
8
FIXXXL
28.05.15
✎
15:06
|
(6) левое от ПоставляемаяНоменклатура к ПрайсыПоставщиков
оба поля с "=" и отбор по NULL в коде если правильно понял условия твои |
|||
9
Ёпрст
28.05.15
✎
15:06
|
+7 в ГДЕ
|
|||
10
prtx
28.05.15
✎
15:20
|
(9)
"ВЫБРАТЬ | ПрайсыПоставщиков.Код, | ПрайсыПоставщиков.Наименование КАК Наименование, | ПрайсыПоставщиков.Поставщик |ИЗ | РегистрСведений.ПрайсыПоставщиков КАК ПрайсыПоставщиков | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПоставляемаяНоменклатура КАК ПоставляемаяНоменклатура | ПО ПрайсыПоставщиков.Поставщик = ПоставляемаяНоменклатура.Поставщик |ГДЕ | ПоставляемаяНоменклатура.Код ЕСТЬ NULL | |УПОРЯДОЧИТЬ ПО | Наименование" Теперь вообще ничего не находит. |
|||
11
Demetres
28.05.15
✎
15:24
|
Вот как-то так
ВЫБРАТЬ ПрайсыПоставщиков.Код, ПрайсыПоставщиков.Наименование, ПрайсыПоставщиков.Поставщик ИЗ РегистрСведений.ПрайсыПоставщиков КАК ПрайсыПоставщиков ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПоставляемаяНоменклатура КАК ПоставляемаяНоменклатура ПО ПрайсыПоставщиков.Поставщик = ПоставляемаяНоменклатура.Поставщик ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПоставляемаяНоменклатура КАК ПоставляемаяНоменклатура1 ПО ПрайсыПоставщиков.Поставщик = ПоставляемаяНоменклатура1.Поставщик И ПрайсыПоставщиков.Код = ПоставляемаяНоменклатура1.Код ГДЕ ПоставляемаяНоменклатура1.Поставщик ЕСТЬ NULL |
|||
12
Drac0
28.05.15
✎
15:24
|
(10) И ПрайсыПоставщиков.Код = ПоставляемаяНоменклатура.Код
|
|||
13
prtx
28.05.15
✎
15:25
|
https://drive.google.com/file/d/0B0IpbsF62O6YSTRtYnJvSE5UWU0/view?usp=sharing
мне нужно из ПрайсыПоставщиков получить "мандарины" и "помидоры", потому что в ПоставляемаяНоменклатура тупо нет записей где код равен ихнему коду в ПрайсыПоставщиков. надеюсь понятно. извините что туплю!) |
|||
14
Ёпрст
28.05.15
✎
15:29
|
(13) добавь условие из (12) в условие соединения в (10) Наслаждайся
|
|||
15
prtx
28.05.15
✎
15:39
|
(14) (12)
Ура заработало!!! Спасибо огромное. Только принцип немного понял(( |
|||
16
prtx
28.05.15
✎
15:42
|
Окончательный запрос: (может кому пригодиться)
"ВЫБРАТЬ | ПрайсыПоставщиков.Код, | ПрайсыПоставщиков.Наименование КАК Наименование, | ПрайсыПоставщиков.Поставщик |ИЗ | РегистрСведений.ПрайсыПоставщиков КАК ПрайсыПоставщиков | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПоставляемаяНоменклатура КАК ПоставляемаяНоменклатура | ПО ПрайсыПоставщиков.Поставщик = ПоставляемаяНоменклатура.Поставщик | И ПрайсыПоставщиков.Код = ПоставляемаяНоменклатура.Код |ГДЕ | ПоставляемаяНоменклатура.Код ЕСТЬ NULL" |
|||
17
Demetres
28.05.15
✎
15:43
|
не благодарный
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |