|
Не выводить значение в поле, если оно встречалось в предыдущей строке
|
|||
---|---|---|---|
#18+
Доброго дня, Форум! Есть запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
который выводит результат: ab12131425 Имеется ли решение на стороне СУБД (SQL Server), которое позволит выводить результат запроса вот так: ab12 3 425 Что я уже попробовал: 1. Обрабатывать вывод информации на стороне фронта: Код: c# 1. 2. 3. 4. 5. 6. 7.
2. То же самое обрабатывать в хранимой процедуре: Код: sql 1. 2. 3.
Решение вроде как работает, но хочется элегантнее выдавать значения :) Что я подозреваю - возможно есть решение с помощью либо lag(), либо lead(). Буду рад ответу с направлением чтения. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2021, 12:02 |
|
Не выводить значение в поле, если оно встречалось в предыдущей строке
|
|||
---|---|---|---|
#18+
Рустамка, если имеется столбец сортировки, то можно использовать LAG() для сравнения значений, но то, что требуется, подавление повторяющихся значений, обычно реализуют средствами системы отчетов, а не базы данных ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2021, 12:14 |
|
Не выводить значение в поле, если оно встречалось в предыдущей строке
|
|||
---|---|---|---|
#18+
по совету из поста выше: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2021, 12:38 |
|
Не выводить значение в поле, если оно встречалось в предыдущей строке
|
|||
---|---|---|---|
#18+
@Владислав Колосов , В принципе это и подозревал, но всегда не уверен в своих знаниях, поэтому лучше лишний раз переспросить, чем изобретать велосипед. Спасибо большое за ответ! @vikkiv , да. На стороне mdx я бы сделал точно так же, но в том же SSRS при группировке по полям происходит именно подавление повторяющегося значения (спасибо @Владислав Колосов за правильную формулировку) - интересна была природа механизма подавления - на какой стороне осуществлялось подавление: на стороне SSRS с помощью внутренних механизмов, либо тот же SSRS мой запрос оборачивает в своё sql-решение, которое я и пытался узнать )). В любом случае теперь понимаю, почему на стороне фронта это делать правильнее и выгоднее. Спасибо всем большое! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2021, 12:47 |
|
Не выводить значение в поле, если оно встречалось в предыдущей строке
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2021, 12:59 |
|
Не выводить значение в поле, если оно встречалось в предыдущей строке
|
|||
---|---|---|---|
#18+
invm, мы оба пошли на поводу у туннельного воображения, при этом ТС нигде не упоминал ни о партиционировании ни о сортировке ни по какому полю.. (только зачем-то добавил группировку) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2021, 13:27 |
|
Не выводить значение в поле, если оно встречалось в предыдущей строке
|
|||
---|---|---|---|
#18+
vikkiv по совету из поста выше: Код: sql 1.
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2021, 13:39 |
|
Не выводить значение в поле, если оно встречалось в предыдущей строке
|
|||
---|---|---|---|
#18+
invm Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2021, 14:25 |
|
|
start [/forum/topic.php?fid=46&tid=1685147]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 288ms |
total: | 543ms |
0 / 0 |