|
Соединения в запросе | ☑ | ||
---|---|---|---|---|
0
Stim
09.09.14
✎
11:08
|
Есть табличная часть, в которой 12 реквизитов с типом мойДокумент.Ссылка
Нужно по каждому этому документу получить 3 свойства. Есть ли более простой способ, чем 3*12 левых соединений с регистром сведений ЗначенияСвойствОбъектов? |
|||
1
Ёпрст
09.09.14
✎
11:10
|
есть
Подзапрос (или создание временной) из 12 юнионов.. затем к нему(к ней) левое соединение к ЗначенияСвойствОбъектов |
|||
2
bolobol
09.09.14
✎
11:11
|
Просто 12 соединений с выбором трёх реквизитов.
|
|||
3
Stim
09.09.14
✎
11:13
|
(2) тогда на каждый док будет 3 выборки.
А нужна одна: док свойство1 свойство2 свойство3 |
|||
4
_fvadim
09.09.14
✎
11:15
|
транспонируй тч, потом соединяй - будет одно соединение
|
|||
5
Ёпрст
09.09.14
✎
11:16
|
(3) одно соединение делай через or в условии присоединения (или через in (select фром списоквидовсвойств) +
case в основном селекте на получение 3-х видов свойств |
|||
6
_fvadim
09.09.14
✎
11:16
|
ну и коммент про то, что есть архитектурный просчёт в базе, где в ТЧ документа 12 реквизитов с типом мойДокумент.Ссылка.
|
|||
7
Stim
09.09.14
✎
11:20
|
(6) таковы требования аналит учета.
лучше одна строка тч с 12 реквизитами, чем 12 строк |
|||
8
_fvadim
09.09.14
✎
11:22
|
(7) где связь между требования учёта и кривыми руками?
|
|||
9
Maxus43
09.09.14
✎
11:22
|
эти 12 через Объеденить всё, в один столбец во временной, и одно соединение к свойствам со всеми доками
|
|||
10
Stim
09.09.14
✎
11:25
|
(8) узнаю одинесников))
Такая структура - самая оптимальная с учетом всех прочих задач, в том числе и кривых рук автора. Вопрос лишь в том, как упростить и максимально ускорить запрос |
|||
11
_fvadim
09.09.14
✎
11:28
|
(10) узнаю одинэсников))
я тут сплепил что-то из гмна и палок, как теперь сделать чтоб летало? |
|||
12
bolobol
09.09.14
✎
11:33
|
(7) Правда всегда одна, это сказал фараон, он был очень умён... Просто - не обращай внимания, человек судит не ведая задачи - не докажешь), а по делу ему написать нечего
(10) А вот в СКД есть некая закладка Характеристики, она, по-моему, подобные задачи в ЗУП-е решает. Что-то типа выгрузки в банк заявки на ЗП-карту, где адрес расшифровывается по полям, ФИО, паспорт |
|||
13
Stim
09.09.14
✎
11:34
|
(11) да, считай это так
(9) мне на выходе нужно получить одну строку по каждому доку с тремя свойствами. А ты предлагаешь все равно 3 строки на каждый док |
|||
14
bolobol
09.09.14
✎
11:37
|
(13) Постой, одну строку по каждому доку со свойствами или одну строку из 12-ти доков с тремя свойствами для каждого?
|
|||
15
Ёпрст
09.09.14
✎
11:38
|
чем (1)+(5) не устраивает ?
|
|||
16
Stim
09.09.14
✎
11:41
|
(14) да, наверн не точно написал.. приношу извинения
нужна строка док1 свойство1_1 свойство1_2 свойство1_3 док2 свойство2_1 свойство2_2 и т.д. |
|||
17
Ёпрст
09.09.14
✎
11:46
|
(16) тебе надо 48 колонок ?
Извращенец.. |
|||
18
_fvadim
09.09.14
✎
11:47
|
(17) таковы требования аналит учета. ничо не пипишешь :)
|
|||
19
_fvadim
09.09.14
✎
11:47
|
*попишешь
|
|||
20
_fvadim
09.09.14
✎
11:48
|
(16) открой тайну - зачем?
|
|||
21
_fvadim
09.09.14
✎
11:49
|
12 доков - это по одному доку на каждый месяц?
|
|||
22
Stim
09.09.14
✎
11:51
|
(17) у меня 12 колонок( на каждый месяц) в табл поле, цвет текста с номером дока зависит от свойств дока. Раньше были колонки док и период, но вывод их в тп присоединением области был слишком громоздкий и медленный
|
|||
23
_fvadim
09.09.14
✎
11:52
|
(22) круто чо. подтверждает (6)
|
|||
24
_fvadim
09.09.14
✎
11:53
|
интересно, как можно громоздко и медленно выводить 12 документов?
|
|||
25
Stim
09.09.14
✎
11:55
|
(23) это подтверждает лишь вашу некомпетентность выносить необоснованные выводы при получении неполной информации и не более.
|
|||
26
Stim
09.09.14
✎
11:57
|
(24) по сабжу плз
|
|||
27
_fvadim
09.09.14
✎
11:58
|
(25) можно на ты. от ошибок конечно никто не застрахован, но мой опыт подсказывает, что структура базы далека от идеала, учитывая цирк с хранением и выборкой реквизитов.
|
|||
28
Stim
09.09.14
✎
12:09
|
(27) давай не будем меряться опытом.
|
|||
29
Ёпрст
09.09.14
✎
12:11
|
(28) ну тогда делай 12*3 case в селекте + 12 соединений в основном запросе к значениям свойств
|
|||
30
Ёпрст
09.09.14
✎
12:15
|
будет у тебя так
выбрать выбор когда вася1.видсвойства = видсвойства1 Тогда вася1.значениесвойства иначе болт конец как док1Свойство1, выбор когда вася1.видсвойства = видсвойства2 Тогда вася1.значениесвойства иначе болт конец как док1Свойство2, ..... выбор когда вася12.видсвойства = видсвойства1 Тогда вася12.значениесвойства иначе болт конец как док12Свойство1 из документ.вася.табличка как док левое соединение свойства как вася1 по вася1.видсвойства в (&СписокИзТрехСвойств) и вася1.объект=Док.Док1 ... левое соединение свойства как вася12 по вася12.видсвойства в (&СписокИзТрехСвойств) и вася12.объект=Док.Док12 |
|||
31
Ёпрст
09.09.14
✎
12:16
|
получишь свои 48 колонок..
|
|||
32
Ёпрст
09.09.14
✎
12:16
|
через 12 левых соединений
|
|||
33
Крошка Ру
09.09.14
✎
12:17
|
(27)(28) Не-не-не, давайте померьтесь, всем же хочется развлечений!
|
|||
34
_fvadim
09.09.14
✎
12:18
|
(33) у меня 22 :)
|
|||
35
Stim
09.09.14
✎
12:33
|
(30) да, только болты все нужно отсекать, при этом учитывая, что свойства может и не быть
|
|||
36
Ёпрст
09.09.14
✎
12:35
|
(35) че ????????
null туда воткни, ну или пустую ссылку чего надо или пустую строку или ноль.. есжели нет свойства че как маленький |
|||
37
_fvadim
09.09.14
✎
12:36
|
(36) ты плохо помогаешь, не стараешься :)
|
|||
38
Stim
09.09.14
✎
12:49
|
(36) если нет свойств вообще, все будет в болтах, и док отсечется
Если есть все свойства - будут 3 строки одинаковые со свойствами. Нет свойств - 1 строка с болтами. тут только сгруппировать |
|||
39
Ёпрст
09.09.14
✎
12:56
|
(38) ?
будет док1 null null null док2 вася null null ...например чего где отсечется ? |
|||
40
bolobol
09.09.14
✎
13:15
|
С характеристиками не вышло? Чё как?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |