|
Помогите найти значение окончания кадра (оптимизация запроса)
|
|||
---|---|---|---|
#18+
Здравствуйте, коллеги! Есть таблица ID1ID2MinVal1MaxVal1MinVal2MaxVal2DescriptionVal317701000NULLVal1 до 1001017710015003Val1 от 100 до 150; Val2 до 31117710015035Val1 от 100 до 150; Val2 от 3 до 5121771001505NULLVal1 от 100 до 150; Val2 от 51317715020003Val1 от 150 до 200; Val2 до 31417715020035Val1 от 150 до 200; Val2 от 3 до 5151771502005NULLVal1 от 150 до 200; Val2 от 516177200NULL0NULLVal1 от 200172770500NULLVal1 до 50527750NULL0NULLVal1 от 501017801000NULLVal1 до 10091781001500NULLVal1 от 100 до 150101781502000NULLVal1 от 150 до 20012178200NULL0NULLVal1 от 20015 Но в базе данных она хранится без полей MaxVal1, MaxVal2 и Description. Склейка столбца Description - это дело ясное, но мне нужно получить столбцы MaxVal1 и MaxVal2. Последний я могу получить довольно просто, но вот с MaxVal1 у меня вышел затык. Единственный вариант, который мне пришёл в голову - это соединение таблицы самой с собой: Код: 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.
Но на самом деле @T - это не таблица, а результат подзапроса, где до его получения уже происходит много чего. Я тут это в табличную переменную просто для упрощённого примера вывел. Так что мне хочется избавиться от этого соединения. Вот и думаю, может я где-то туплю и есть какой-то простой способ получения этого MaxVal1? P.S. SQL Server 2019 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2021, 19:14 |
|
Помогите найти значение окончания кадра (оптимизация запроса)
|
|||
---|---|---|---|
#18+
Sybex, значения MaxVal1, MaxVal2 должны быть определены каким образом? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2021, 20:11 |
|
Помогите найти значение окончания кадра (оптимизация запроса)
|
|||
---|---|---|---|
#18+
Sybex, в качестве иллюстрации: Код: 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.
А дальше - сами... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2021, 20:27 |
|
Помогите найти значение окончания кадра (оптимизация запроса)
|
|||
---|---|---|---|
#18+
Щукина Анна, спасибо большое! Это как раз то, что нужно!!! Владислав Колосов значения MaxVal1, MaxVal2 должны быть определены каким образом? MaxVal1 - это значение MinVal1 из строки ниже (группировка по ID1 и ID2, сортировка по возрастанию MinVal1 с исключением дубликатов), соответственно MaxVal2 - это значение MinVal2 из строки ниже (группировка по ID1, ID2, MinVal1, сортировка по возрастанию MinVal2). Тяжело так объяснить, проще на таблице примере смотреть и в моём не оптимальном запросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2021, 21:23 |
|
|
start [/forum/topic.php?fid=46&msg=40071480&tid=1684699]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 323ms |
total: | 464ms |
0 / 0 |