|
Задача на собеседовании (создать Запрос) | ☑ | ||
---|---|---|---|---|
0
roman383
03.12.14
✎
12:36
|
Приходит как-то мой знакомый на собеседование в одну контору (франч) на вакансию программист 1С. Для того чтобы проверить навыки работы с 1С запросами ему задают задачку: в консоли запросов создать запрос, который получает список целых чисел от 1 до заданного параметра (целое число не меньше 1). Требование к задачи: запрос не обращается к базе данных, имеет всего лишь один параметр (целое число) и запрещено пользоваться ОБЪЕДИНЕНИЯМИ. Дал ему на решение 30 мин. Он эту задачу решить не смог и более того сказал что ее вообще нельзя решить. Проверяющий сказал ему ДО СВИДАНИЯ. Можно ли эту задачу вообще решить?
|
|||
1
ДенисЧ
03.12.14
✎
12:37
|
решить можно.
Но такого рабодателя надо послать сразу после прочтения задания. |
|||
2
Wobland
03.12.14
✎
12:39
|
какие навыки работы проверить?
|
|||
3
ДенисЧ
03.12.14
✎
12:40
|
(2) Посылоспособность
|
|||
4
iamnub
03.12.14
✎
12:40
|
Интересно уточнить - не обращается к базе данных..
У оракла есть FROM DUAL, а у MS SQL? Не говоря уж о 1С-диалекте - как можно запросом что-то получить БЕЗ БД?? |
|||
5
Wobland
03.12.14
✎
12:41
|
(4) выбрать "без бд"
|
|||
6
DCKiller
03.12.14
✎
12:41
|
Гы... А пакетами пользоваться можно?
А на собеседование в галстуке надо приходить? |
|||
7
ДенисЧ
03.12.14
✎
12:42
|
(4) выбрать 2 как колонка
В чём проблема? |
|||
8
roman383
03.12.14
✎
12:42
|
(2) не знаю какие. С начала ему дали задачу с легким запросом, а потом говорит: вот тебе запрос посложнее
|
|||
9
Ненавижу 1С
гуру
03.12.14
✎
12:43
|
(4) раздел FROM в MSSQL и 1С диалектах необязателен
|
|||
10
Зеленый пень
03.12.14
✎
12:43
|
(0) Сколько лет работаю, ни разу не приходилось такую задачу решать.
ИХМО, ТС так тешит своё ЧСВ. |
|||
11
Лефмихалыч
03.12.14
✎
12:44
|
(0) это называется ебанариум |
|||
12
Зеленый пень
03.12.14
✎
12:44
|
(10) + ну не ТС, а проверяющий, конечно
|
|||
13
DCKiller
03.12.14
✎
12:45
|
(11) Мне одному стало интересно, что там за франч такой?..
|
|||
14
ramir
03.12.14
✎
12:46
|
Ограничение по (целое число) есть?
|
|||
15
DCKiller
03.12.14
✎
12:46
|
Я сталкивался на собеседованиях обычно с тупыми эйчарами. С тупыми тестировщиками проверочного ТЗ приходилось сталкиваться всего раза 2 за всю карьеру...
|
|||
16
Лефмихалыч
03.12.14
✎
12:46
|
(13) ну, какой-нибудь Волгоградский регианальный клуб ебанариумистов. Да какая разница?.. |
|||
17
Ненавижу 1С
гуру
03.12.14
✎
12:46
|
(1) научишь?
имхо, решения нет |
|||
18
Ненавижу 1С
гуру
03.12.14
✎
12:47
|
(14) ээээ, с ограничением неинтересно
|
|||
19
Wobland
03.12.14
✎
12:47
|
(17) с верхним потолком можно через запятую
|
|||
20
Godofsin
03.12.14
✎
12:47
|
Запрос в цикле ))))))
|
|||
21
DCKiller
03.12.14
✎
12:48
|
(16) А если из мск кто-нибудь?.. Вот пойдешь устраиваться на работу и нарвёшься на такого.
|
|||
22
pessok
03.12.14
✎
12:49
|
(17) совсем недавно на ИСе было
|
|||
23
Лефмихалыч
03.12.14
✎
12:49
|
(21) тоже мне трагедия |
|||
24
Ненавижу 1С
гуру
03.12.14
✎
12:50
|
(22) ссылку не дашь? спасибо
|
|||
25
roman383
03.12.14
✎
12:50
|
(10) встречаются задачи типо такой, например при помощи запроса использую две даты получить все месяцы находящиеся между этими датами
|
|||
26
DmitriyDI
03.12.14
✎
12:51
|
решение кто-то даст)?
|
|||
27
roman383
03.12.14
✎
12:51
|
(25) хотя легче в цикле это сделать
|
|||
28
pessok
03.12.14
✎
12:51
|
(24) а, там с объединить :(
http://infostart.ru/public/251678/ |
|||
29
Ненавижу 1С
гуру
03.12.14
✎
12:52
|
(28) на важно, там ограничение на вводимое значение
|
|||
30
pessok
03.12.14
✎
12:53
|
(29) в (0) тоже. целое число больше 1
|
|||
31
Ненавижу 1С
гуру
03.12.14
✎
12:53
|
(27) особенно если даты 01.01.1900 и 01.01.2015
|
|||
32
Ненавижу 1С
гуру
03.12.14
✎
12:54
|
(30) ограничение сверху ))
|
|||
33
roman383
03.12.14
✎
12:55
|
решение (25) есть в (28)
|
|||
34
Господин ПЖ
03.12.14
✎
12:55
|
(30) у тебя в коде запроса зашито верхнее ограничение
|
|||
35
Господин ПЖ
03.12.14
✎
12:56
|
а в (0) этого нет
|
|||
36
pessok
03.12.14
✎
12:56
|
(32), (34) ага, был невнимателен
|
|||
37
Господин ПЖ
03.12.14
✎
13:00
|
п.э. либо кандидат недослушал и задача на самом деле (28) или экзаменатор что-то свое имел ввиду.
в общем кандидат/франь ничего не потеряли |
|||
38
dk
03.12.14
✎
13:00
|
полчаса прошло
пока никто не сдал тест может постановка была несколько другая? |
|||
39
Господин ПЖ
03.12.14
✎
13:01
|
>пока никто не сдал тест
в постановке (0) она нерешаема |
|||
40
Тюря
03.12.14
✎
13:02
|
Надо на собеседование ходить со своей головоломкой.
И задающему тоже предложить соревнование у кого мозги острей ))) |
|||
41
ramir
03.12.14
✎
13:03
|
(38) При наличии ограничения по заданному числу задача вполне решаемая.
|
|||
42
roman383
03.12.14
✎
13:04
|
В условии сказано получить список целых чисел, но это не означает что запрос должен возвращать таблицу состоящей из одной колонки и количеством строк равным параметру. Может быть можно попробовать получить таблицу из одной строки и количеством колонок равным этому параметру!!!
|
|||
43
Лефмихалыч
03.12.14
✎
13:04
|
(41) "запрещено пользоваться ОБЪЕДИНЕНИЯМИ" |
|||
44
Господин ПЖ
03.12.14
✎
13:04
|
(41) значит франь ничего для себя не потерял
если ограничений не было - кандидат |
|||
45
ramir
03.12.14
✎
13:05
|
(43) Я прочитал условие. Знаю как без объединений решить.
|
|||
46
Господин ПЖ
03.12.14
✎
13:06
|
(42) гы...
|
|||
47
dk
03.12.14
✎
13:06
|
типа
выбрать 1,2,3,4,5,6 ... ? |
|||
48
roman383
03.12.14
✎
13:06
|
(45) пусть ограничение равно 1000000. Только не используя (42) реши
|
|||
49
Господин ПЖ
03.12.14
✎
13:07
|
(45) ну клади сюда, посмотрим
|
|||
50
Chum
03.12.14
✎
13:07
|
||||
51
roman383
03.12.14
✎
13:07
|
(47) ну да, мож франь это имел ввиду
|
|||
52
dk
03.12.14
✎
13:08
|
(50) запустишь в консоли запросов 1с? ))
|
|||
53
ramir
03.12.14
✎
13:10
|
Сейчас расскажу на словах, если хотите напишу запрос.
есть выборка1 ВЫБРАТЬ 1 как Поле1 есть выборка2 ВЫБРАТЬ 2 как Поле2 Выбираем полное соединение этих таблиц ПО ЛОЖЬ Получаем таблицу из двух строк. Далее выбираем из это таблицы, таблицу вот такую (с одной колонкой) 1 2 Далее нужное количество раз объединяем ~log(MAX). выбираем сумму по всем таблицам, группируем и сортируем. Не забываем условие, чтобы числа больше заданного не выбирались. |
|||
54
ramir
03.12.14
✎
13:11
|
(53) очепятался, нужное количество раз делаем полное соединение.
|
|||
55
Господин ПЖ
03.12.14
✎
13:13
|
как определить "нужное количество раз" в запросе?
|
|||
56
roman383
03.12.14
✎
13:13
|
(53) "Получаем таблицу из двух строк." - это как? Неужели при помощи декатово произведения таблиц из одной строки можно получить таблицу с двумя строками
|
|||
57
ramir
03.12.14
✎
13:13
|
(53) еще ступил, выбирать нужно 0, 1
|
|||
58
ramir
03.12.14
✎
13:13
|
(56) Полное соединение по ЛОЖЬ даст нам таблицу из двух строк.
|
|||
59
Godofsin
03.12.14
✎
13:14
|
(53) Накидай запрос
|
|||
60
Euguln
03.12.14
✎
13:15
|
(59) + для N = 300
|
|||
61
capllary
03.12.14
✎
13:17
|
(0) Интересная головоломка.
|
|||
62
Drac0
03.12.14
✎
13:21
|
Но результат можно получить только в обходе :( И то не факт, что получится. |
|||
63
Vladal
03.12.14
✎
13:25
|
(4) Можно!
|
|||
64
Vladal
03.12.14
✎
13:25
|
*при том |
|||
65
Drac0
03.12.14
✎
13:26
|
+(62) Работает :)
|
|||
66
ramir
03.12.14
✎
13:28
|
выбрать естьNull(Поле2, 0) как Поле поместить Темп из (выбрать * из (выбрать 0 как Поле1) как ВЗ1 Полное соединение (выбрать 1 как Поле2) как ВЗ2 ПО ЛОЖЬ) как ВложенныйЗапрос
; //////////////////////////////////////////////////////////////////////////////// выбрать * из ( ВЫБРАТЬ Темп1.Поле + 2*Темп2.Поле + 2*2*Темп3.Поле + 2*2*2*Темп4.Поле + 2*2*2*2*Темп5.Поле + 2*2*2*2*2*Темп6.Поле + 2*2*2*2*2*2*Темп7.Поле + 2*2*2*2*2*2*2*Темп8.Поле + 2*2*2*2*2*2*2*2*Темп9.Поле как П из Темп как Темп1 полное соединение Темп как Темп2 по истина полное соединение Темп как Темп3 по истина полное соединение Темп как Темп4 по истина полное соединение Темп как Темп5 по истина полное соединение Темп как Темп6 по истина полное соединение Темп как Темп7 по истина полное соединение Темп как Темп8 по истина полное соединение Темп как Темп9 по истина сгруппировать по Темп1.Поле + 2*Темп2.Поле + 2*2*Темп3.Поле + 2*2*2*Темп4.Поле + 2*2*2*2*Темп5.Поле + 2*2*2*2*2*Темп6.Поле + 2*2*2*2*2*2*Темп7.Поле + 2*2*2*2*2*2*2*Темп8.Поле + 2*2*2*2*2*2*2*2*Темп9.Поле) как ВложенныйЗапрос ГДЕ П <= &Параметр И П > 0 |
|||
67
ramir
03.12.14
✎
13:29
|
(66) Вот запрос для макс 511
|
|||
68
mergan
03.12.14
✎
13:30
|
(65)у меня нефига
|
|||
69
Господин ПЖ
03.12.14
✎
13:30
|
(66) это уже было в (28)
|
|||
70
pessok
03.12.14
✎
13:31
|
(66) 511
|
|||
71
ramir
03.12.14
✎
13:32
|
(69) Я ссылку не читал. Сказали, что там ОБЪЕДИНИТЬ используется.
|
|||
72
Господин ПЖ
03.12.14
✎
13:33
|
(71) ну избавился от от юнион. Но верхний предел у тебя все равно в запросе зашит
|
|||
73
pessok
03.12.14
✎
13:33
|
(71) ага, там через объединение. осталось теперь для неограниченного сделать
|
|||
74
Бледно Золотистый
03.12.14
✎
13:33
|
универсального решения нет, если параметр ничем не ограничен
|
|||
75
ramir
03.12.14
✎
13:34
|
(72) я сразу оговорился, что знаю как решить только с ограничением.
|
|||
76
roman383
03.12.14
✎
13:34
|
(75) Без ограничения получается никак. Может нужно было на собеседовании решить также но с ограничением, которое не знает проверяющий (например какое-то очень большое число, название которого даже не знаешь)
|
|||
77
ramir
03.12.14
✎
13:35
|
(76) Любой нормальный проверяющий поймет что это за число.
|
|||
78
Господин ПЖ
03.12.14
✎
13:35
|
(74) ну значит либо франь либо кандидат идет нафиг. что и произошло.
все довольны |
|||
79
Godofsin
03.12.14
✎
13:35
|
(65) Чтот не взлетело...
|
|||
80
roman383
03.12.14
✎
13:35
|
В консоли запросов у поля ввода параметра какая разрядность числа?
|
|||
81
pessok
03.12.14
✎
13:36
|
(77) я вот дальше триллионов уже путаюсь
|
|||
82
fdgd98
03.12.14
✎
13:36
|
(0) какую зп обещали после решения задачи? какой город?
|
|||
83
pessok
03.12.14
✎
13:36
|
(78) просто франь знал, что правильный кандидат начнет с нашего любимого вопроса "а нафейхоа?"
|
|||
84
roman383
03.12.14
✎
13:37
|
(82) зарплата не знаю, город Волгоград
|
|||
85
Господин ПЖ
03.12.14
✎
13:38
|
(83) в зуповских запросах полно извращений
|
|||
86
ramir
03.12.14
✎
13:38
|
Это задача на сообразительность, чего зачастую очень не хватает 1Снегам. Сам подобные задаю на собеседование. Знания - дело наживное, главное чтобы не тупил и не ленился.
|
|||
87
fdgd98
03.12.14
✎
13:38
|
(84) зарплата 10 тыс + 50 % премия наверное.
|
|||
88
pessok
03.12.14
✎
13:38
|
(85) и каждый раз, когда я на них смотрю - волосы встают дыбом. успокаивает только то, что "возможно я чего-то не знаю"
|
|||
89
Бледно Золотистый
03.12.14
✎
13:40
|
(88) Нам землянам никогда не понять
|
|||
90
roman383
03.12.14
✎
13:40
|
(87) ну такую зарплату нужно еще заслужить
|
|||
91
Godofsin
03.12.14
✎
13:41
|
(89) +100500!
|
|||
92
roman383
03.12.14
✎
13:42
|
Получается решение как в (66) с ограничением как в (80)
|
|||
93
Drac0
03.12.14
✎
13:42
|
(79) (68) Обходить надо правильно: пВыборкаГод= Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Поле", "Все");
|
|||
94
Drac0
03.12.14
✎
13:44
|
(74) есть в (62) :)
|
|||
95
Hans
03.12.14
✎
13:45
|
Ну что никто не может решить задачу тупого франча? =)
|
|||
96
shpioleg
03.12.14
✎
13:46
|
(84) А название франча какое?
|
|||
97
Господин ПЖ
03.12.14
✎
13:48
|
(96) "Мозго.п и сыновья"
|
|||
98
azernot
03.12.14
✎
13:49
|
Вот моя нетленка с ограничением в 10 млн...
ВЫБРАТЬ 0 КАК Ноль, 1 КАК Единица, 2 КАК Двойка, 3 КАК Тройка, 4 КАК Четверка, 5 КАК Пятерка, 6 КАК Шестерка, 7 КАК Семерка, 8 КАК Восьмерка, 9 КАК Девятка ПОМЕСТИТЬ ЦифрыВСтолбцах ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЕСТЬNULL(Цифра0.Ноль, ЕСТЬNULL(Цифра1.Единица, ЕСТЬNULL(Цифра2.Двойка, ЕСТЬNULL(Цифра3.Тройка, ЕСТЬNULL(Цифра4.Четверка, ЕСТЬNULL(Цифра5.Пятерка, ЕСТЬNULL(Цифра6.Шестерка, ЕСТЬNULL(Цифра7.Семерка, ЕСТЬNULL(Цифра8.Восьмерка, ЕСТЬNULL(Цифра9.Девятка, 0)))))))))) КАК Цифра ПОМЕСТИТЬ Цифры ИЗ ЦифрыВСтолбцах КАК Цифра0 ПОЛНОЕ СОЕДИНЕНИЕ ЦифрыВСтолбцах КАК Цифра1 ПО (ЛОЖЬ) ПОЛНОЕ СОЕДИНЕНИЕ ЦифрыВСтолбцах КАК Цифра2 ПО (ЛОЖЬ) ПОЛНОЕ СОЕДИНЕНИЕ ЦифрыВСтолбцах КАК Цифра3 ПО (ЛОЖЬ) ПОЛНОЕ СОЕДИНЕНИЕ ЦифрыВСтолбцах КАК Цифра4 ПО (ЛОЖЬ) ПОЛНОЕ СОЕДИНЕНИЕ ЦифрыВСтолбцах КАК Цифра5 ПО (ЛОЖЬ) ПОЛНОЕ СОЕДИНЕНИЕ ЦифрыВСтолбцах КАК Цифра6 ПО (ЛОЖЬ) ПОЛНОЕ СОЕДИНЕНИЕ ЦифрыВСтолбцах КАК Цифра7 ПО (ЛОЖЬ) ПОЛНОЕ СОЕДИНЕНИЕ ЦифрыВСтолбцах КАК Цифра8 ПО (ЛОЖЬ) ПОЛНОЕ СОЕДИНЕНИЕ ЦифрыВСтолбцах КАК Цифра9 ПО (ЛОЖЬ) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Единицы.Цифра + 10 * ЕСТЬNULL(Десятки.Цифра, 0) + 100 * ЕСТЬNULL(Сотни.Цифра, 0) + 1000 * ЕСТЬNULL(Тысячи.Цифра, 0) + 10000 * ЕСТЬNULL(ДесяткиТысяч.Цифра, 0) + 100000 * ЕСТЬNULL(СотниТысяч.Цифра, 0) + 1000000 * ЕСТЬNULL(Миллионы.Цифра, 0) КАК Число ИЗ Цифры КАК Единицы ЛЕВОЕ СОЕДИНЕНИЕ Цифры КАК Десятки ПО (&ВерхнийПредел >= 10) ЛЕВОЕ СОЕДИНЕНИЕ Цифры КАК Сотни ПО (&ВерхнийПредел >= 100) ЛЕВОЕ СОЕДИНЕНИЕ Цифры КАК Тысячи ПО (&ВерхнийПредел >= 1000) ЛЕВОЕ СОЕДИНЕНИЕ Цифры КАК ДесяткиТысяч ПО (&ВерхнийПредел >= 10000) ЛЕВОЕ СОЕДИНЕНИЕ Цифры КАК СотниТысяч ПО (&ВерхнийПредел >= 100000) ЛЕВОЕ СОЕДИНЕНИЕ Цифры КАК Миллионы ПО (&ВерхнийПредел >= 1000000) ГДЕ Единицы.Цифра + 10 * ЕСТЬNULL(Десятки.Цифра, 0) + 100 * ЕСТЬNULL(Сотни.Цифра, 0) + 1000 * ЕСТЬNULL(Тысячи.Цифра, 0) + 10000 * ЕСТЬNULL(ДесяткиТысяч.Цифра, 0) + 100000 * ЕСТЬNULL(СотниТысяч.Цифра, 0) + 1000000 * ЕСТЬNULL(Миллионы.Цифра, 0) <= &ВерхнийПредел И Единицы.Цифра + 10 * ЕСТЬNULL(Десятки.Цифра, 0) + 100 * ЕСТЬNULL(Сотни.Цифра, 0) + 1000 * ЕСТЬNULL(Тысячи.Цифра, 0) + 10000 * ЕСТЬNULL(ДесяткиТысяч.Цифра, 0) + 100000 * ЕСТЬNULL(СотниТысяч.Цифра, 0) + 1000000 * ЕСТЬNULL(Миллионы.Цифра, 0) > 0 УПОРЯДОЧИТЬ ПО Число |
|||
99
Godofsin
03.12.14
✎
13:49
|
(93) а в консоли запросов можно обход задать?
|
|||
100
Бледно Золотистый
03.12.14
✎
13:49
|
(94) Читерство. Сразу таблицу давай.
|
|||
101
Drac0
03.12.14
✎
13:53
|
(100) не было такого условия :-) (99) я в клнсоли наптсал, а про оезультат там же ничего не сказано
|
|||
102
Godofsin
03.12.14
✎
13:58
|
(101) Ну хорошо)))) Зачтено, давай зачетку )))))
|
|||
103
pessok
03.12.14
✎
14:02
|
(102) есть таки ощущение, что где-то тут подвох. понятное дело, что "экзаменатор" мог тупо завернуть соискателя по личным причинам, а-ля, слишком умный, подсидит еще. но все-же
|
|||
104
nevopros
03.12.14
✎
14:04
|
Интересные задачи ставят работодатели. Обычно они все такого рода. "Представь что ты баклан и не умеешь решать задачи простым путем. Сделай задачу через *опу, докажи, что не баклан".
|
|||
105
freetype
03.12.14
✎
14:11
|
(98) зачетно!
|
|||
106
pessok
03.12.14
✎
14:13
|
запилите кто-то в КЗ сегодняшние варианты, пусть будут
|
|||
107
ramir
03.12.14
✎
14:27
|
Вот вам без группировки и с оформлением
ВЫБРАТЬ ЕСТЬNULL(ВложенныйЗапрос.Поле2, 0) КАК Поле ПОМЕСТИТЬ Темп ИЗ (ВЫБРАТЬ ВЗ1.Поле1 КАК Поле1, ВЗ2.Поле2 КАК Поле2 ИЗ (ВЫБРАТЬ 0 КАК Поле1) КАК ВЗ1 ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 1 КАК Поле2) КАК ВЗ2 ПО (ЛОЖЬ)) КАК ВложенныйЗапрос ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВложенныйЗапрос.П КАК Число ИЗ (ВЫБРАТЬ Темп1.Поле + 2 * Темп2.Поле + 2 * 2 * Темп3.Поле + 2 * 2 * 2 * Темп4.Поле + 2 * 2 * 2 * 2 * Темп5.Поле + 2 * 2 * 2 * 2 * 2 * Темп6.Поле + 2 * 2 * 2 * 2 * 2 * 2 * Темп7.Поле + 2 * 2 * 2 * 2 * 2 * 2 * 2 * Темп8.Поле + 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * Темп9.Поле КАК П ИЗ Темп КАК Темп1 ПОЛНОЕ СОЕДИНЕНИЕ Темп КАК Темп2 ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ Темп КАК Темп3 ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ Темп КАК Темп4 ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ Темп КАК Темп5 ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ Темп КАК Темп6 ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ Темп КАК Темп7 ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ Темп КАК Темп8 ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ Темп КАК Темп9 ПО (ИСТИНА)) КАК ВложенныйЗапрос ГДЕ ВложенныйЗапрос.П <= &Параметр И ВложенныйЗапрос.П > 0 УПОРЯДОЧИТЬ ПО Число |
|||
108
Kamas
03.12.14
✎
14:35
|
фу блин решил
|
|||
109
shpioleg
03.12.14
✎
14:37
|
Тоже "родили" тут сообща.
|
|||
110
azernot
03.12.14
✎
14:39
|
(109) в (0) "запрещено пользоваться ОБЪЕДИНЕНИЯМИ".
|
|||
111
Kamas
03.12.14
✎
14:40
|
ВЫБРАТЬ
0 КАК Число ПОМЕСТИТЬ _0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ 1 КАК Число ПОМЕСТИТЬ _1 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ 2 КАК Число ПОМЕСТИТЬ _2 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ 3 КАК Число ПОМЕСТИТЬ _3 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЕСТЬNULL(_0.Число, 0) + ЕСТЬNULL(_1.Число, 0) + ЕСТЬNULL(_2.Число, 0) + ЕСТЬNULL(_3.Число, 0) КАК Поле ПОМЕСТИТЬ числа ИЗ _0 КАК _0 ПОЛНОЕ СОЕДИНЕНИЕ _1 КАК _1 ПО _0.Число = _1.Число ПОЛНОЕ СОЕДИНЕНИЕ _2 КАК _2 ПО _0.Число = _2.Число ПОЛНОЕ СОЕДИНЕНИЕ _3 КАК _3 ПО _0.Число = _3.Число ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ числа1.Поле + 4 * числа2.Поле + 16 * числа3.Поле + 1 КАК Поле1 ИЗ числа КАК числа1, числа КАК числа2, числа КАК числа3 ГДЕ числа1.Поле + 4 * числа2.Поле + 16 * числа3.Поле + 1 < &Параметр УПОРЯДОЧИТЬ ПО Поле1 |
|||
112
Господин ПЖ
03.12.14
✎
14:42
|
вы получили ачивку "Годен для Волгограда"
|
|||
113
pessok
03.12.14
✎
14:42
|
(111) у тебя до 64
|
|||
114
Kamas
03.12.14
✎
14:42
|
(111) с максимальным можно играться но общий ход действий не изменится
|
|||
115
pessok
03.12.14
✎
14:43
|
(114) можно играться, когда максимальное заранее известно
|
|||
116
Господин ПЖ
03.12.14
✎
14:43
|
(114) следующий!
|
|||
117
Kamas
03.12.14
✎
14:46
|
(114) ну можно степенями 2 последнего догнать до то кого состояния что сервак уйдет в даун только зачем?? хот логики не меняетс
|
|||
118
fdgd98
03.12.14
✎
14:48
|
Вы нам подходите ! зп 5 тыс рублей!
|
|||
119
Широкий
03.12.14
✎
14:48
|
(111) Вложенные запросы не катят. Надо именно временку городить?
|
|||
120
Pasha
03.12.14
✎
14:49
|
(91) Вообще конечно хотелось бы взглянуть на фото автора ЗУПовских запросов... В глаза посмотреть
|
|||
121
fdgd98
03.12.14
✎
14:49
|
(120) фотки ссожены
|
|||
122
pessok
03.12.14
✎
14:50
|
(120) в юности мы часто употребляли фразу "да глянь на него, глаз нет". сами знаете о чем речь, не буду популизировать :)
|
|||
123
Kamas
03.12.14
✎
14:52
|
(119) Да без разницы я просто привык к врт автоматом выходит не думая
|
|||
124
pessok
03.12.14
✎
14:59
|
(123) а виноват в этом зуп, как пить дать :)
|
|||
125
pessok
03.12.14
✎
15:00
|
+(124) я тоже насмотревшись этого непотребства стал везде сувать ВТ. вот отучаюсь теперь
|
|||
126
Ник второй
03.12.14
✎
15:27
|
(125) Зачем отучаться, вт это верный подход.
|
|||
127
ramir
03.12.14
✎
15:31
|
ВТ оправдано, когда результат используется больше 1 раза. В противном случае особой разницы не вижу.
|
|||
128
Drac0
03.12.14
✎
15:34
|
(127) Оптимизатор SQL с тобой не согласен.
|
|||
129
ramir
03.12.14
✎
15:35
|
(128) Да я не против альтернативного мнения. Только на практике, как правило, это мелочь на фоне оптимальности самого запроса)
|
|||
130
AlexITGround
03.12.14
✎
15:43
|
да я задолбался читать и разбирать эти кучи вложенных запросов, стараюсь юзать ВТ, даже если обращение однократное, хотя некоторые из коллег на мисте против использования ВТ в принципе, пока серьезных аргументов не получил
|
|||
131
Гёдза
03.12.14
✎
15:46
|
полное соединение по ложь
оказалось равносильно объединить Но кто бы знал такую куету |
|||
132
spero
03.12.14
✎
15:46
|
(130) Тут соображения чисто эстетические. С ВТ декларативный по своей природе язык становится немножечко процедурным. Вот - фи!
|
|||
133
etc
03.12.14
✎
15:47
|
А я задолбался после таких любителей ВТ наращивать ресурсы DB сервера когда 80% дисковых обращений к tempdb. Конечно, по каждому чиху ВТ, а то где эта таблица создается никого не волнует.
|
|||
134
igork1966
03.12.14
✎
15:48
|
(129) иногда это зависит от базы например...
если используешь в соединения к регистру сведений... и у тебя Postgress при большом количестве данных ты никуда не уйдешь от ВТ |
|||
135
WebberNSK
03.12.14
✎
15:48
|
(0) можно, гугли на инфостарте пораждающие запросы
|
|||
136
etc
03.12.14
✎
15:48
|
Вы еще в списки ВТ понапихайте, особенно в процедуру ПриВыводеСтроки (вместо ПриПолученииДанных). Кодеры блин.
|
|||
137
Kamas
03.12.14
✎
15:50
|
(136) юзайте ssd админы блин
|
|||
138
Kamas
03.12.14
✎
15:50
|
(137) ))
|
|||
139
WebberNSK
03.12.14
✎
15:51
|
(0) между прочим подобным способом решается задача транзитивного замыкания, с помощью которой строятся эпические отчеты по юридической-корпоративной структуре в зуп
|
|||
140
etc
03.12.14
✎
15:51
|
(137) ты еще рамдиск посоветуй. Все вы такие умные.
|
|||
141
dmpl
03.12.14
✎
15:52
|
(120) Когда разберешься - там все просто, просто букв много.
|
|||
142
dmpl
03.12.14
✎
15:53
|
(127) Вложенный запрос иногда приводит к непопаданию в индексы. Если же выбрать предварительно в ВТ - практически всегда попадает.
|
|||
143
DexterMorgan
03.12.14
✎
15:56
|
(142) Вложенный запрос сам по себе не зло, а вот соединение с ним иногда приводит к печальным последствиям
(133) Спасибо, поржал |
|||
144
DexterMorgan
03.12.14
✎
15:58
|
(140) чем плох рамдиск для темпдб? =)
|
|||
145
Локи-13
03.12.14
✎
16:02
|
(0) жесткий сатанизм... за 8 лет в 1С не сталкивался ни с чем подобным. не считаю нужным держать это в голове. при необходимости есть интернет, и куча сайтов с "Занимательными запросами".
знаете как на школьном конкурсе фонетики в штатах: называют слово и отвечающий задает два вопроса Определение слова Предложение с этим словом Так же и тут. Я бы в ответ попросил описать задачу пользователя, для которой потребуется такое решение. (143) +1 |
|||
146
Бледно Золотистый
03.12.14
✎
16:11
|
(143) Ага типа такого:
Microsoft OLE DB Provider for SQL Server: Запрос был отменен, потому что расчетные затраты на его выполнение превышают установленный порог в .... Свяжитесь с системным администратором. Хотя запрос достаточно быстрый и простой как 2 копейки. |
|||
147
Серго62
03.12.14
✎
16:14
|
(0) А целые числа случайно не должны были быть еще и простыми?
|
|||
148
sapphire
03.12.14
✎
16:21
|
(39) Это еще почему нерешаема?
|
|||
149
Goggy
03.12.14
✎
16:54
|
Ну что, мегамозги? Выложит-то запрос кто? Или попонтавались и хватит?
|
|||
150
roman383
03.12.14
✎
16:57
|
(147) не, они просто должны входить во множество чисел Фибоначчи
|
|||
151
azernot
03.12.14
✎
17:07
|
(149) Все согласились с тем, что простым запросом, без организации специальной выборки, задача нерешаема, если не вводить верхнее ограничение.
Можно конечно ввести ограничение на 1000 триллионов, и заявить, что бОльшие числа в сфере применения 1С не используются. Но с формальной точки зрения - это будет нерешённая задача. |
|||
152
igork1966
03.12.14
✎
17:22
|
(151) +1
|
|||
153
DmitriyDI
03.12.14
✎
17:33
|
(109) можете объяснить почему при
выбрать T1.цифры + T2.цифры * 10 + T3.цифры * 100 + T4.цифры * 1000 КАК T из (выбрать * ИЗ ВТ) T1, (выбрать * ИЗ ВТ) T2, (выбрать * ИЗ ВТ) T3, (выбрать * ИЗ ВТ) T4 упорядочить по T получается такой результат? как работает эта часть запроса, что-то никак не пойму (( |
|||
154
DmitriyDI
03.12.14
✎
17:40
|
(153) все возможные комбинации всех сумм цифр этих таблиц?
|
|||
155
Господин ПЖ
03.12.14
✎
17:42
|
(154) декарт
|
|||
156
Kamas
03.12.14
✎
17:42
|
(149)чем тебя не устраивает то что было предложено выше Там же все понятно Задаем список чисел в N ричной системе потом Берем этот список столько раз сколько разрядов должно быть у данного числа(Тк. берем таблички без всяких соединений то получаем все возможные комбинации чисел во всех разрядах ) в этой ситеме и переводим его в десятичную
|
|||
157
Escander
03.12.14
✎
17:42
|
(0) чисто для маркетинга... а что за фра, которому нужны спецы в том. что не имеет прикладного значения?
|
|||
158
DS
03.12.14
✎
17:47
|
(156) Где тебе не понятно условие задачи?
|
|||
159
Kamas
03.12.14
✎
17:52
|
(158) что не так вас смущает ограничение в разрядности
|
|||
160
spero
03.12.14
✎
17:57
|
(154) Если в запросе указать несколько таблиц через запятую, на выходе получишь произведение таблиц.
|
|||
161
DS
03.12.14
✎
18:05
|
(159) Решений данной задачи в теме еще нет.
А смущает меня то, что на вопрос "сможешь ли согнуть голыми руками пятисантиметровый стальной прут" отвечают "да запросто согну с помощью прутосгибального станка". |
|||
162
Господин ПЖ
03.12.14
✎
18:06
|
правильный ответ 1С-ника на вопрос "за сколько пробежите 100 метровку" - "за 1500 рублей"
|
|||
163
azernot
03.12.14
✎
18:08
|
(162) В контексте ветки JOB: Давайте все вместе повысим стоимость своих услуг? правильный ответ "за 5000 рублей"
|
|||
164
Escander
03.12.14
✎
18:14
|
roman383, что за фра-то?
|
|||
165
rsv
03.12.14
✎
18:21
|
(0) Left Join c ON на сравнение . Как то так
|
|||
166
rsv
03.12.14
✎
18:23
|
т.е. если запретили объеденения значит разрешили соединения... надо завтра поселектить :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |