|
|
|
почему не исключаются значения из запроса по Не Подобно | ☑ | ||
|---|---|---|---|---|
|
0
LivingStar
08.08.13
✎
12:25
|
Нужно сделать запрос в котором можно исключать записи указывая тот или иной территориальный признак, область край и тд. Сделал использую инсмтрукцию Не Подобно, почему она не работает? Указывая на форме строковое значение территториального признака, записи в запросе все равно присутствуют!!!
ВЫБРАТЬ ПродажиОбороты.Номенклатура, ПродажиОбороты.Контрагент, ПродажиОбороты.ДокументПродажи.ТорговаяТочка КАК ТорговаяТочка, ПродажиОбороты.КоличествоОборот / ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоОборот, ПродажиОбороты.ПериодМесяц КАК ПериодМесяц, ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) КАК АдресТорговойТочки {ВЫБРАТЬ Номенклатура.*, Контрагент.*, ТТ.*, КоличествоОборот, ПериодМесяц} ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Авто, Номенклатура В ИЕРАРХИИ (&СписокНоменклатуры)) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО ПродажиОбороты.Регистратор.ТорговаяТочка = КонтактнаяИнформация.Объект И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)) И (КонтактнаяИнформация.Вид.Код = "000000027") И (ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК Строка(100)) Не ПОДОБНО &ИсключитьИзАдреса) {ГДЕ ПродажиОбороты.Номенклатура.*, ПродажиОбороты.ДокументПродажи.ТорговаяТочка.*, ПродажиОбороты.Контрагент.*, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.ПериодМесяц} {УПОРЯДОЧИТЬ ПО Номенклатура.*, Контрагент.*, ТТ.*, ПериодМесяц, КоличествоОборот} ИТОГИ СУММА(КоличествоОборот) ПО ОБЩИЕ {ИТОГИ ПО Номенклатура.*, Контрагент.*, ТТ.*, ПериодМесяц} |
|||
|
1
Ёпрст
гуру
08.08.13
✎
12:26
|
левое соединение замени на внутреннее
наслаждайся |
|||
|
2
cw014
08.08.13
✎
12:27
|
Потому что параметр нужно устанавливать не "край", а "%край%"
|
|||
|
3
LivingStar
08.08.13
✎
12:28
|
(2) то есть в параметре %% по бокам значения?
(1) причем тут внутреннее соединение? |
|||
|
4
cw014
08.08.13
✎
12:29
|
(3) Кури wildcard
|
|||
|
5
Ёпрст
гуру
08.08.13
✎
12:29
|
(3) а ты разве не фильтровать хотел ?
|
|||
|
6
LivingStar
08.08.13
✎
12:34
|
(2) Сделал так, в поле адрес пропали значения а строки сами есть, открываешь торговую точку там у неё адрес со значением которое хотели исключить, это почему так?
(5) Исключать записи, ну да фильтровать? Если я в конструкторе убираю левую галку у последнего соединения она пропадает у трех предыдущих.... |
|||
|
7
cw014
08.08.13
✎
12:36
|
(6) Логично, ты же в соединении повешал
|
|||
|
8
LivingStar
08.08.13
✎
12:37
|
Что за бред??? Как исключать записи по подобно???
Пропадают только значения в поле, количесвто выбираемых записей в выборке же не меняется !!!! |
|||
|
9
LivingStar
08.08.13
✎
12:37
|
(7) попробую убрать в условие
|
|||
|
10
Ёпрст
гуру
08.08.13
✎
12:37
|
(6) ёё..
делаешь внутренее соединение и %% в лайк |
|||
|
11
cw014
08.08.13
✎
12:37
|
(8) Сам ты бред. Ты соединяешь две таблицы. Вторую соединяешь по своим условиям. Если условия не соблюдены - не будет соединения, НО ЗАПИСЬ ПРИ ЭТОМ НЕ ПРОПАДЕТ
|
|||
|
12
cw014
08.08.13
✎
12:38
|
(10) Там могут быть записи без контактной информации, а они по отбору не проходят
(9) Делай вложенную таблицу, там проводи свою выборку по ЛЕВОМУ СОЕДИНЕНИЮ, потом во внешней таблицы условие уже в ГДЕ ставь |
|||
|
13
LivingStar
08.08.13
✎
12:39
|
вот что получилось, все нормально там?
ВЫБРАТЬ ПродажиОбороты.Номенклатура, ПродажиОбороты.Контрагент, ПродажиОбороты.ДокументПродажи.ТорговаяТочка КАК ТорговаяТочка, ПродажиОбороты.КоличествоОборот / ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоОборот, ПродажиОбороты.ПериодМесяц КАК ПериодМесяц, ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) КАК АдресТорговойТочки {ВЫБРАТЬ Номенклатура.*, Контрагент.*, ТорговаяТочка.*, КоличествоОборот, ПериодМесяц} ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Авто, Номенклатура В ИЕРАРХИИ (&СписокНоменклатуры)) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО ПродажиОбороты.Регистратор.ТорговаяТочка = КонтактнаяИнформация.Объект И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)) И (КонтактнаяИнформация.Вид.Код = "000000027") ГДЕ НЕ ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) ПОДОБНО &ИсключитьИзАдреса {ГДЕ ПродажиОбороты.Номенклатура.*, ПродажиОбороты.ДокументПродажи.ТорговаяТочка.*, ПродажиОбороты.Контрагент.*, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.ПериодМесяц} {УПОРЯДОЧИТЬ ПО Номенклатура.*, Контрагент.*, ТорговаяТочка.*, ПериодМесяц, КоличествоОборот} ИТОГИ СУММА(КоличествоОборот) ПО ОБЩИЕ {ИТОГИ ПО Номенклатура.*, Контрагент.*, ТорговаяТочка.*, ПериодМесяц} выборку осуществляет исключая значения... |
|||
|
14
cw014
08.08.13
✎
12:41
|
(13) Ты своим ГДЕ в запросе автоматом превращаешь из ЛЕВОЕ СОЕДИНЕНИЕ во ВНУТРЕННЕЕ СОЕДИНЕНИЕ
|
|||
|
15
LivingStar
08.08.13
✎
12:45
|
(14) А как нужно то????
|
|||
|
16
cw014
08.08.13
✎
12:46
|
(15) Либо уж делай ВНУТРЕНЕЕ, либо как в (12) написано
|
|||
|
17
LivingStar
08.08.13
✎
12:46
|
(14) что то не так будет работать в запросе (13) ? Какие то всплывут проблемы???
|
|||
|
18
LivingStar
08.08.13
✎
12:48
|
(16) Так покажите, где делай то????
Так что ли??? А в чем разница??? ВЫБРАТЬ ПродажиОбороты.Номенклатура, ПродажиОбороты.Контрагент, ПродажиОбороты.ДокументПродажи.ТорговаяТочка КАК ТорговаяТочка, ПродажиОбороты.КоличествоОборот / ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоОборот, ПродажиОбороты.ПериодМесяц КАК ПериодМесяц, ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) КАК АдресТорговойТочки {ВЫБРАТЬ Номенклатура.*, Контрагент.*, ТорговаяТочка.*, КоличествоОборот, ПериодМесяц} ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Авто, Номенклатура В ИЕРАРХИИ (&СписокНоменклатуры)) КАК ПродажиОбороты ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО ПродажиОбороты.Регистратор.ТорговаяТочка = КонтактнаяИнформация.Объект И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)) И (КонтактнаяИнформация.Вид.Код = "000000027") ГДЕ НЕ ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) ПОДОБНО &ИсключитьИзАдреса {ГДЕ ПродажиОбороты.Номенклатура.*, ПродажиОбороты.ДокументПродажи.ТорговаяТочка.*, ПродажиОбороты.Контрагент.*, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.ПериодМесяц} {УПОРЯДОЧИТЬ ПО Номенклатура.*, Контрагент.*, ТорговаяТочка.*, ПериодМесяц, КоличествоОборот} ИТОГИ СУММА(КоличествоОборот) ПО ОБЩИЕ {ИТОГИ ПО Номенклатура.*, Контрагент.*, ТорговаяТочка.*, ПериодМесяц} |
|||
|
19
cw014
08.08.13
✎
12:49
|
У тебя у контрагента1 - адрес "село"
У контрагента2 - адрес "город" У контрагента3 нет адреса (даже записи такой нет) Отбор не "%село%" При левом соединение и вложенных таблицах выйдет: контрагента2 - "город" контрагента3 - <null> При внутреннем соединении и твоем ЛЕВОМ с ГДЕ выйдет: контрагента2 - "город" |
|||
|
20
LivingStar
08.08.13
✎
12:51
|
Запрос (18) нормально все отберет? Рабочий???
По результату не увидел никаких принципиальных различий, может не очень внимательно смотрел.... |
|||
|
21
LivingStar
08.08.13
✎
12:52
|
(19) честно не врубаюсь в это (((((
|
|||
|
22
LivingStar
08.08.13
✎
12:55
|
подскажите пожалуйста, запрос (18) можно в работу выпускать????
|
|||
|
23
cw014
08.08.13
✎
12:56
|
(21) Что ты не врубился? Я тебе расписал, что может получиться в результате твоей выборки
|
|||
|
24
cw014
08.08.13
✎
12:57
|
(21) У тебя не все данные попадут
|
|||
|
25
Starhan
08.08.13
✎
12:57
|
(22) ты базу уже выложи в общий доступ и ток пожелания закидывай, и не парься, хватит терпеть эти унижения на мисте.
|
|||
|
26
Starhan
08.08.13
✎
12:57
|
(0) У меня родился не скромный вопрос, какое у вас образование?
|
|||
|
27
LivingStar
08.08.13
✎
12:58
|
(24) так а сказать как нужно ты можешь??
запрос же я привел... |
|||
|
28
cw014
08.08.13
✎
12:59
|
ВЫБРАТЬ
ВложенныйЗапрос.Номенклатура, ВложенныйЗапрос.Контрагент, ВложенныйЗапрос.ТорговаяТочка, ВложенныйЗапрос.КоличествоОборот, ВложенныйЗапрос.ПериодМесяц, ВложенныйЗапрос.АдресТорговойТочки {ВЫБРАТЬ Номенклатура.*, Контрагент.*, ТорговаяТочка.*, КоличествоОборот, ПериодМесяц} ИЗ (ВЫБРАТЬ ПродажиОбороты.Номенклатура, ПродажиОбороты.Контрагент, ПродажиОбороты.ДокументПродажи.ТорговаяТочка КАК ТорговаяТочка, ПродажиОбороты.КоличествоОборот / ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоОборот, ПродажиОбороты.ПериодМесяц КАК ПериодМесяц, ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) КАК АдресТорговойТочки ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Авто, Номенклатура В ИЕРАРХИИ (&СписокНоменклатуры)) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО ПродажиОбороты.Регистратор.ТорговаяТочка = КонтактнаяИнформация.Объект И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)) И (КонтактнаяИнформация.Вид.Код = "000000027")) КАК ВложенныйЗапрос ГДЕ НЕ ВложенныйЗапрос.АдресТорговойТочки ПОДОБНО &ИсключитьИзАдреса {ГДЕ ВложенныйЗапрос.Номенклатура.*, ВложенныйЗапрос.ТорговаяТочка.*, ВложенныйЗапрос.Контрагент.*, ВложенныйЗапрос.КоличествоОборот, ВложенныйЗапрос.ПериодМесяц} {УПОРЯДОЧИТЬ ПО Номенклатура.*, Контрагент.*, ТорговаяТочка.*, ПериодМесяц, КоличествоОборот} ИТОГИ СУММА(КоличествоОборот) ПО ОБЩИЕ {ИТОГИ ПО Номенклатура.*, Контрагент.*, ТорговаяТочка.*, ПериодМесяц} |
|||
|
29
cw014
08.08.13
✎
12:59
|
С тебя 350 рублев
|
|||
|
30
LivingStar
08.08.13
✎
13:03
|
(28) спасибо
|
|||
|
31
LivingStar
08.08.13
✎
13:03
|
(26) ПТУ
|
|||
|
32
cw014
08.08.13
✎
13:03
|
(30)(31) - Не игнорируй (29)
|
|||
|
33
cw014
08.08.13
✎
13:04
|
ПТУшник
|
|||
|
34
LivingStar
08.08.13
✎
13:05
|
(29) по сравнению с (18) разницы в получаемом результате нет
|
|||
|
35
LivingStar
08.08.13
✎
13:08
|
(33) в чем суть если в выборках присутствует одинаковое количесвто записей???
|
|||
|
36
cw014
08.08.13
✎
13:09
|
(34) Это пока нет... Пока у тебя юзвери не намолотили контрагентов без контактной информации
|
|||
|
37
cw014
08.08.13
✎
13:09
|
(34) А потом один из них прибежит и с криками будет тебе доказывать, что этот контрагент не попадает в список, а должен
|
|||
|
38
LivingStar
08.08.13
✎
13:20
|
(37) Директору отчет этот до 17:00 сегодня. Искажение информации не допустимо!!!
|
|||
|
39
cw014
08.08.13
✎
13:25
|
(38) Сам решай, как тебе поступать
|
|||
|
40
Ёпрст
гуру
08.08.13
✎
13:58
|
(34) и не будет - это идентичные запросы)
|
|||
|
41
Ёпрст
гуру
08.08.13
✎
13:59
|
И оборачивать в подзапрос не имело смысла.
|
|||
|
42
Ёпрст
гуру
08.08.13
✎
13:59
|
в данном случае.
|
|||
|
43
cw014
08.08.13
✎
14:07
|
(41)(42) Ну тут ты не прав, но спорить не буду. И ТС уже пропал
|
|||
|
44
Ёпрст
гуру
08.08.13
✎
14:25
|
(43) обоснуй.
Своим ГДЕ на выходе, ты сделал всё тоже самое, что и внутреннее соединение изначально. Вот если бы туда воткнуть еще проверку на то, что либо лайком проверять адрес и еще, есть ли вообще контактная информация, тогда да, имело бы смысл. А так, запросы одинаковые. |
|||
|
45
Ёпрст
гуру
08.08.13
✎
14:27
|
null в адресе с лайк всегда ложь будет - эта строка отсеится..
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |