|
|
|
PIVOT или нет?
|
|||
|---|---|---|---|
|
#18+
Всем привет! Есть задача Вот это: TNFIOENCNRSRCERZRSRSTAVKA1111111ИВАНОВИВАНИВАНОВИЧ55060555301111111ИВАНОВИВАНИВАНОВИЧ55060545301111111ИВАНОВИВАНИВАНОВИЧ55060550402222222ПЕТРОВПЕТРПЕТРОВИЧ55060416502222222ПЕТРОВПЕТРПЕТРОВИЧ55060316503333333СИДОРОВСИДОРСИДОРОВИЧ2169210216100 Превратить в это TNFIOENCNRSR1CERZRSR1STAVKA1CNRSR2CERZRSR2STAVKA2CNRSR3CERZRSR3STAVKA31111111ИВАНОВИВАНИВАНОВИЧ5506055530605453060550402222222ПЕТРОВПЕТРПЕТРОВИЧ550604165060316503333333СИДОРОВСИДОРСИДОРОВИЧ2169210216100 Это пример таблицы. Значений в строках по одному человеку может быть как одно (3333333 в примере), так и 3 или 5 или 20 строк Сижу, смотрю и читаю про PIVOT, но пока ничего не понимаю. Друзья, товарищи. Подскажите/натолкните на правильную мысль... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 13:35 |
|
||
|
PIVOT или нет?
|
|||
|---|---|---|---|
|
#18+
Игорь86Друзья, товарищи. Подскажите/натолкните на правильную мысль... Не связывайся с букмекерскими конторами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 13:45 |
|
||
|
PIVOT или нет?
|
|||
|---|---|---|---|
|
#18+
Не связывайся с букмекерскими конторами. Это логично, а по делу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 13:48 |
|
||
|
PIVOT или нет?
|
|||
|---|---|---|---|
|
#18+
Игорь86, А по делу: PIVOT статичный, но можешь погуглить "динамический PIVOT", но вряд ли найдётся что-то более-менее годное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 14:09 |
|
||
|
PIVOT или нет?
|
|||
|---|---|---|---|
|
#18+
Игорь86, А по делу - зависит от итоговой цели. Если это требуется для отображения, то оставить это н функционал BI-инструмента. Если для какой-либо последующей обработки, то уточнить задачу и скорее всего изменить её постановку. PIVOT в oracle ограничен явным указанием итоговых агрегатов. Кроме варианта for xml, но для его разворачивания в реляционную структуру всё равно придётся явно прописывать xpath. Если количество ставок является ограниченным множеством, то сначала нумеруешь row_number() over (partition by tn order by выбери_сам), а потом делаешь явный pivot ( max(cerzrsr), max(stavka) for rn in (1,2,..,N)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2017, 14:10 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=52&tid=1885516]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
187ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 538ms |

| 0 / 0 |
