Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ох уж этот Pivot (
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста. Есть вопрос, состоящий из двух частей. Часть1. Имеются такие таблицы: Tab1 Id Name Field1 Field2 Field31 'Name1' null nullnull2 'Name2'null nullnull Tab2 Id Tab1Id FieldName Value1 1 'Field1' 'Value1'2 1 'Field2' 'Value2'3 1 'Field3' 'Value4'4 2 'Field1' 'Value1'5 2 'Field2' 'Value2'6 2 'Field3' 'Value3' Нужно получить результат запроса Tab1Id Field1 Field2 Field31 'Value1' 'Value2' 'Value4'2 'Value1' 'Value2' 'Value3' Часть2. Полученные данные требуется залить в Tab1. Где уже добавлены столбцы Field1, Field2, Field3. Т.е. просто решено удалить бесполезную таблицу Tab2, и все данные хранить в существующей Tab1. Изначально предполагалось, что количество типов будет различно, но в итоге их так и осталось строго 3 (Field1, Field2, Field3), в связи с чем удобней и проще все это хранить в одной таблице. Похоже это очень простая задача, но видимо торможу под вечер уже :( и с Pivot очень давно не работал. В частности не могу придумать как быть с тем, что Pivot требует агрегатной функции, а мне она не нужна. Мне нечего агрегировать - нужно лишь вывести все данные повернув их. И затем как составить запрос Update, который на основе этого результата проапдейтит первую таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 19:10 |
|
||
|
Ох уж этот Pivot (
|
|||
|---|---|---|---|
|
#18+
TsHeloWorlder, Пивот делаешь для второй таблицы, с агрегацией , как надо. Результат джойнишь к первой. Апдейт можно сделать через мердж по условию совпадения Не получается с пивотом - замени его на тройной джойн второй таблицы к первой... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2018, 19:16 |
|
||
|
Ох уж этот Pivot (
|
|||
|---|---|---|---|
|
#18+
можете помочь с пивотом ? в том и дело, что не могу врубится. как быть с тем, что требуется агрегатная функция, а мне она не нужна ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 00:11 |
|
||
|
Ох уж этот Pivot (
|
|||
|---|---|---|---|
|
#18+
Awaiter, если все равно как - max ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 09:09 |
|
||
|
Ох уж этот Pivot (
|
|||
|---|---|---|---|
|
#18+
TsHeloWorlderPivot требует агрегатной функции, а мне она не нужна. Мне нечего агрегировать - нужно лишь вывести все данные повернув их.Это такое требование, страховка от неуникальных сочетаний, а то серверу совершенно непонятно, как тогда выводить. Поэтому ставьте, например, MAX, получится то, что вам нужно получить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2018, 11:03 |
|
||
|
Ох уж этот Pivot (
|
|||
|---|---|---|---|
|
#18+
Можете сам запрос пивотный дать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 00:11 |
|
||
|
Ох уж этот Pivot (
|
|||
|---|---|---|---|
|
#18+
Awaiter, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Tab1Id Field1 Field2 Field3 1 Value1 Value2 Value4 2 Value1 Value2 Value3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 08:24 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39587729&tid=1690453]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 387ms |

| 0 / 0 |
