|
Поиск документа запросом по части номера. | ☑ | ||
---|---|---|---|---|
0
demONx6
14.02.19
✎
10:33
|
Здравствуйте. Суть в следующем.
Есть таблица значений (ТЗ), имеющая столбцы: Номер (тип Строка) Дата (тип Дата) Номера в ТЗ имеют формат "12345". (Номера в базе имеют формат "Д-000012345".) Длина номера в ТЗ может быть от 1 до 5 символов. Как запросом можно найти документы с перечисленными номерами и датами? На данный момент дошел до этого запроса: "ВЫБРАТЬ | ВЫРАЗИТЬ(ТЗ.Номер КАК СТРОКА(5)) КАК Номер, | ТЗ.Дата КАК Дата |ПОМЕСТИТЬ ТЗ |ИЗ | &ТЗ КАК ТЗ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка КАК Ссылка, | ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номер КАК СТРОКА(11)) КАК Номер1, | НАЧАЛОПЕРИОДА(РеализацияТоваровУслуг.Дата, ДЕНЬ) КАК Дата1 |ПОМЕСТИТЬ Реализации |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Реализации.Ссылка, | ТЗ.Номер, | ТЗ.Дата |ИЗ | ТЗ КАК ТЗ | ЛЕВОЕ СОЕДИНЕНИЕ Реализации КАК Реализации | ПО (Реализации.Номер1 ПОДОБНО ""%"" + ТЗ.Номер) | И ТЗ.Дата = Реализации.Дата1"; Но в данном случае находит только те документы, у которых номера в ТЗ имеют длину 5 символов. Меньшие уже не находит. Решить задачу нужно без циклов, только запросом. |
|||
1
ДенисЧ
14.02.19
✎
10:34
|
где номер подобно "%12345"
|
|||
2
demONx6
14.02.19
✎
10:38
|
Это условие есть в связях таблиц.
|
|||
3
СвинТуз
14.02.19
✎
10:45
|
(0)
Добавить колонку в таблицу значений и заполнить религия не позволяет? Потом в запросе сравниваем на равенство. |
|||
4
demONx6
14.02.19
✎
10:47
|
(3) Префиксы могут быть разные.
|
|||
5
СвинТуз
14.02.19
✎
10:49
|
(4)
"%" с обеих сторон не пробовал ставить? Читай инструкцию |
|||
6
demONx6
14.02.19
✎
10:51
|
(5) В ТЗ указана последняя часть номера. Поэтому % только перед ставится.
|
|||
7
ZDenis
14.02.19
✎
10:51
|
(2) Насколько я понимаю после этого
ВЫРАЗИТЬ(ТЗ.Номер КАК СТРОКА(5)) будут пробелы у того, где меньше 5 и соответственно он уже не найдет, а если попробовать без ВЫРАЗИТЬ? |
|||
8
demONx6
14.02.19
✎
10:53
|
(7) Тогда ошибка
Неверные параметры "+" ПО (Реализации.Номер1 ПОДОБНО "%" + <<?>>ТЗ.Номер) |
|||
9
demONx6
14.02.19
✎
10:55
|
Собственно из-за этой ошибки и решил "выражать"
|
|||
10
СвинТуз
14.02.19
✎
10:58
|
(9)
Добавь нули справа. |
|||
11
demONx6
15.02.19
✎
04:46
|
Добавил слева. Помогло. Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |