![]() |
|
Упрощение текста запроса | ☑ | ||
---|---|---|---|---|
0
s-n-a-y
07.03.14
✎
15:07
|
Есть два одинаковых запроса (но с разными параметрами) склеенных через объединение
ВЫБРАТЬ ПЕРВЫЕ 1 1 как номер, КонтактнаяИнформация.Представление ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Объект = &Объект И КонтактнаяИнформация.Вид = &Вид объединить все ВЫБРАТЬ ПЕРВЫЕ 1 2, КонтактнаяИнформация.Представление ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Объект = &Объект2 И КонтактнаяИнформация.Вид = &Вид2 Там текст запроса дублируется два раза. Можно ли как-то упростить? Может быть с использованием временных таблиц? Покажите, пожалуйста. |
|||
1
vicof
07.03.14
✎
15:08
|
(0) Зачем темы дублируешь? Тебе в предыдцщей ветке ответили
|
|||
2
ptiz
07.03.14
✎
15:08
|
Оставь так, нормально.
|
|||
3
PR
07.03.14
✎
15:09
|
(0) Зачем?
|
|||
4
s-n-a-y
07.03.14
✎
15:12
|
(0), в той ветке на этом остановилось. Извиняюсь, нужно было в той спрашивать.
|
|||
5
s-n-a-y
07.03.14
✎
15:13
|
(3), а если одинаковых запросов будет не два, а больше?
|
|||
6
PR
07.03.14
✎
15:13
|
(5) Сколько? Конечное количество?
|
|||
7
s-n-a-y
07.03.14
✎
15:14
|
(6), ну скажем пять.
|
|||
8
vicof
07.03.14
✎
15:16
|
(7) Тогда цикл с динамическим формированием текста
|
|||
9
salvator
07.03.14
✎
15:16
|
(8) Это ты ему сча мозг сломал :))
|
|||
10
PR
07.03.14
✎
15:17
|
(7) Ну скажем норм.
|
|||
11
vicof
07.03.14
✎
15:17
|
(9) Можно просто забить на эту ерунду)
|
|||
12
s-n-a-y
07.03.14
✎
15:18
|
(7), поясните, пожалуйста.
|
|||
13
PR
07.03.14
✎
15:19
|
(12) Это ты себя спрашиваешь? Что тебе пояснить-то?
|
|||
14
salvator
07.03.14
✎
15:20
|
(12) Например поместить параметры в таблицу значений и, обходя ее построчно, формировать текст запроса.
|
|||
15
salvator
07.03.14
✎
15:20
|
А лучше в структуру.
|
|||
16
s-n-a-y
07.03.14
✎
15:21
|
(13), то что написано в посте (7)
|
|||
17
vicof
07.03.14
✎
15:21
|
(12) Цикл - определенный объем повторяющихся операций (возможно бесконечный)
Динамический - формирующийся во время исполнения программы Формирование - создание Текст - набор символов |
|||
18
vicof
07.03.14
✎
15:21
|
(16) В посте (7) написано "ну скажем, пять"
|
|||
19
s-n-a-y
07.03.14
✎
15:22
|
извините ошибся (8)
|
|||
20
s-n-a-y
07.03.14
✎
15:23
|
(17) я хотел увидеть пример кода
|
|||
21
vicof
07.03.14
✎
15:28
|
Для к = 1 по 5 цикл
текст = текст + " ВЫБРАТЬ ПЕРВЫЕ 1 1 как номер, КонтактнаяИнформация.Представление ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Объект = &" + Объект[к] + " И КонтактнаяИнформация.Вид = &" + Вид[к] +" объединить все; конеццикла; //потом отрезать последний объединить все |
|||
22
s-n-a-y
07.03.14
✎
15:29
|
Дошло. А средствами конструктора запроса нельзя?
|
|||
23
salvator
07.03.14
✎
15:30
|
(21) Только ему надо будет
ВЫБРАТЬ ПЕРВЫЕ 1 "+Строка(к)+" как номер, ... |
|||
24
vicof
07.03.14
✎
15:31
|
(23) ну я на коленке писал, мог упустить)
|
|||
25
s-n-a-y
07.03.14
✎
15:31
|
Я имел в виду, что склеивать в цикле не совсем красиво
|
|||
26
salvator
07.03.14
✎
15:31
|
(22) Нет. Более того, ты его потом конструктором не откроешь.
|
|||
27
salvator
07.03.14
✎
15:32
|
(25) Ну пиши простыню, никто тебя не принуждает. Ты спросил - тебе ответили. Дальше сам решай.
|
|||
28
vicof
07.03.14
✎
15:33
|
(25) Да ладно.
Может быть ты хотел сказать неудобно, потому что ты не можешь его открыть конструктором? Тру-программеры пишут в цикле с завязанными глазами и руками |
|||
29
s-n-a-y
07.03.14
✎
15:34
|
Понял, спасибо.
|
|||
30
Ёпрст
гуру
07.03.14
✎
15:34
|
В один запрос всё засунуть, через or в условии и через case в селекте..
|
|||
31
Ёпрст
гуру
07.03.14
✎
15:34
|
+30 можешь..
|
|||
32
ptiz
07.03.14
✎
15:35
|
Собери ТЗ:
Объект, Вид Объект1, Вид1 Объект2, Вид2 ... Тогда сделаешь красивый текст запроса. |
|||
33
vicof
07.03.14
✎
15:36
|
(30) Ему в предыдущей теме все разжевали
|
|||
34
s-n-a-y
07.03.14
✎
15:37
|
т.е. тогда в строке появится доп. поле, по которому я могу определить к каким параметрам строка относится?
|
|||
35
vicof
07.03.14
✎
15:39
|
(34) Ты определись сначала, что тебе надо
|
|||
36
ptiz
07.03.14
✎
15:39
|
(34) Тогда ты эту ТЗ сможешь передать в запрос и использовать её для соединений и условий.
|
|||
37
s-n-a-y
07.03.14
✎
15:40
|
(33) в предыдущей теме были ответы только с дублируемым текстом в запросе.
|
|||
38
vicof
07.03.14
✎
15:42
|
(37) а если найду?
|
|||
39
vicof
07.03.14
✎
15:43
|
(37) ответь на (35)
|
|||
40
Ёпрст
гуру
07.03.14
✎
15:44
|
можешь и тип+вид+номер загнать во временную табличку и потом в запросе просто иннер джоин к ней.. усё.
|
|||
41
s-n-a-y
07.03.14
✎
15:53
|
||||
42
s-n-a-y
07.03.14
✎
15:56
|
ВЫБРАТЬ
КонтактнаяИнформация.Вид КонтактнаяИнформация.Представление ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Объект = &Объект И КонтактнаяИнформация.Вид В (&Виды) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |