|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
Добрый день. В качестве тестового задания дали пример запроса. Нужно объяснить что он делает и какие данные получатся на выходе. Помогите пожалуйста. SQL начал изучать только недавно. И вообще, если можно оцените его по каким-то критериям сложности. Сколько нужно потратить времени на изучение sql, чтобы с легкостью понимать такие запросы. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 16:58 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
Alex0928 и какие данные получатся на выходе Полную структуру таблиц с констрейнтами предоставили? Если нет, то правильный ответ - неизвестно. Одна только строчка Alex0928 Код: sql 1.
показывает, что из конторы с такими запросами надо бежать и как можно скорее ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 17:02 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
env Одна только строчка Alex0928 Код: sql 1.
показывает, что из конторы с такими запросами надо бежать и как можно скорее Это структура базы 1С Кстати говоря, прямая работа с объектами БД 1С – нарушение пользовательского соглашения. И если после очередного обновления в структуре что-то поменяется, то запрос отвалится. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 17:15 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
Alex0928 Сколько нужно потратить времени на изучение sql, чтобы с легкостью понимать такие запросы. Используются обычные джойны, группировки, условия. Текст большой, но семантически запрос очень простой. Что бы изучить такие конструкции, нужен месяц, ну пусть до трёх (или никогда, если нет способностей). Но что бы запомнить все эти таблицы, держать в памяти, и быстро читать подобные запросы ("какие данные получатся на выходе"), нужен некий навык работы с этой системой (очевидно, 1С), потребуется времени побольше, может, год, может, больше (у кого как). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 19:37 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
alexeyvg Alex0928 Сколько нужно потратить времени на изучение sql, чтобы с легкостью понимать такие запросы. Но что бы запомнить все эти таблицы, держать в памяти, и быстро читать подобные запросы ("какие данные получатся на выходе"), нужен некий навык работы с этой системой (очевидно, 1С), потребуется времени побольше, может, год, может, больше (у кого как). ох спасибо ) вы меня обрадовали )) Ну а все же, хотя бы в кратце, можете написать, что этот запрос делает? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 19:48 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
Alex0928 alexeyvg пропущено... Но что бы запомнить все эти таблицы, держать в памяти, и быстро читать подобные запросы ("какие данные получатся на выходе"), нужен некий навык работы с этой системой (очевидно, 1С), потребуется времени побольше, может, год, может, больше (у кого как). ох спасибо ) вы меня обрадовали )) Ну а все же, хотя бы в кратце, можете написать, что этот запрос делает? сначала в V1 в первой части отбираются какие-то корневые данные, а потом ищутся под них дети on a.[_IDRRef] = b.[_ParentIDRRef] в v3 получается какой-то аналог pivot-а сразу для нескольких различных уровней, на которых закончился поиск детей причем подразумевается, что максимальный уровень детства - 9 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:49 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
никто не мешает попытаться создать тестовые данные и побаловаться (и заодно привести запрос в более удобоваримый вид) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 21:40 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
Я так понимаю что все-таки запрос достаточно сложный, раз никто не может ответить ) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 02:54 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
Alex0928, рекомендую спросить того, кто дал/написал этот запрос, как вариант - посидеть с конфигуратором/обработкой 1С, переводя имена таблиц в имена сущностей, потом посидеть в msdn, читая о неизвестных вам ключевых словах или вам в форум "Работа" ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 03:03 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
Критик Alex0928, как вариант - посидеть с конфигуратором/обработкой 1С, переводя имена таблиц в имена сущностей, или вам в форум "Работа" Я получил этот запрос на почту, у меня нет доступа к базе. Я просто не могу понять, видя такой запрос и имея некий опыт в sql реально объяснить что он делает? Или это такое задание с подвохом? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 03:44 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
Alex0928, Реально и вам даже уже ответили. Основная и единственная сложность при ответе - отсутствие информации о структурах таблиц, объявленных связях и характере данных. з.ы. можете ответить, что запрос показывает архитектурные проблемы - хранение чисел в строках, и проблемы с организацией разработки - в запросе явно видно отсутствие единого code style. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 09:56 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
env архитектурные проблемы - хранение чисел в строках Обычный для 1С способ вести автонумерацию с сохранением ведущих нулей. При подобной строковой идентификации, у бухгалтерии есть возможность на основании автоматического документа "000123" создать ручной "000123/Ф12", и система его позволит сохранить. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 10:17 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
Uridian, И по этим номерам часто идёт сравнение больше/меньше? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 10:27 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
env отсутствие единого code style. Запрос, вероятно, мог быть написан на языке 1С, и "переведен" на SQL автоматически. Так что, code style этот принадлежит "переводчику". ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 10:32 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
env И по этим номерам часто идёт сравнение больше/меньше? Не знаю, возможно при любой сортировке/выводе. В данном запросе номера сравниваются с константой, а не между собой. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 10:40 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
Uridian, Uridian В данном запросе номера сравниваются с константой Возможно, знатокам 1С _Fld9602 явно указывает на содержимое, спорить не буду. Вопрос в другом - сравнение ожидается по правилам для строк? Для чисел? Если для строк, то не проще ли было написать Код: sql 1.
? Т.к. даже '00' будет > '0' А если для чисел - то косяк с неявной конвертацией типов. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Uridian Так что, code style этот принадлежит "переводчику". Вряд ли автомат один и тот же max напишет тремя разными способами, не говоря о смене регистра в разных частях запроса и использования одновременно двойных кавычек и квадратных скобок. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 10:53 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
env Вряд ли автомат один и тот же max напишет тремя разными способами, не говоря о смене регистра в разных частях запроса и использования одновременно двойных кавычек и квадратных скобок ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 11:02 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
Uridian, Странный запрос. Структура данных - явно 1С, но платформа CTE в запросах писать не умеет, это явно вручную написали. V1-V3 разворачивают "иерархический" справочник в плоский список. То есть, было Обувь -- Фабрика Скороход --- сапоги Стало: Обувь | Фабрика Скороход | Сапоги Причем, справочник (_Reference) выбирается не весь, а с отбором по значениям некоего Перечисления (_Enum) Потом развёрнутая иерархия соединяется с ещё одним справочником. Не очень понятно, что ждёт от вас интервьюер. Далеко не все 1С-ники знают, что "Справочник" хранится в таблицах с префиксом "_Reference". С SQL-щиками наоборот: им не очень интересно, какие объекты 1С стоят за безликими таблицами. В целом, как выше сказали, 2-3 месяца изучения SQL (из самого неочевидного здесь - рекурсивная CTE), плюс изучение структуры 1С - тут те же пара месяцев практики с сопоставлением запроса на языке 1С и того, что отправляется в СУБД. Тогда вещи типа "_ParentIDRRef" (ссылка на "родителя" в иерархии) или "a._Fld675 = 0" (скорее всего - отбор по "Разделителю учета") будут считываться автоматически ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 11:04 |
|
Помогите понять что делает данный запрос
|
|||
---|---|---|---|
#18+
env по правилам для строк?не проще ли было написать [src]<> '0' Для строк, конечно. Могу только предположить, что разработчик хотел отобрать номера с (минимум одним) ведущим нулем + ещё какими-то символами, в тч дополнительными ведущими нулями. env Вряд ли автомат один и тот же max напишет тремя разными способами, не говоря о смене регистра в разных частях запроса и использования одновременно двойных кавычек и квадратных скобок. 0wl Uridian, что ждёт от вас интервьюер. Скорее от топик-стартера.)) Мне "посчастливилось" раньше править SQL-код, по которому видно, что человек учился этому языку на "примерах" от 1С. То есть, имена таблиц уже нормальные, Sales, Orders и тп, а структура запроса - глубоко вложенные подзапросы, причём сохранены типично 1С-овские "code style" с переносами строк после каждого поля, и тд. В данном запросе просто взят некий рабочий пример, в котором для экзаменационных целей поленились заменить имена таблиц на тестовые. Работодатель хочет определить, сможет ли в этом, простите, г@, разобраться соискатель.)) Ведь ему предстоит потом в нем плавать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 11:48 |
|
|
start [/forum/topic.php?fid=46&fpage=39&tid=1685308]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 292ms |
total: | 423ms |
0 / 0 |