Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Может быть конечно это глупый вопрос но помогите! Есть временная таблица1 из одного столбца и 36 строк! Как сделать так что бы таблица1 стала выглядеть так: одна строки и 36 столбцов! Другими словами перевернуть! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 10:16 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
Ramis, создать еще одну временную таблицу, у которой 36 столбцов и 1 строка и перекинуть данные. Это согласно вашей указанной задаче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 10:19 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
Паганель Использование операторов PIVOT и UNPIVOT А как использовать PIVOT если столбец один? Что то я не понял! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 10:33 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
зависит от задачи простейший (надеюсь) пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 10:40 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
Паганельзависит от задачи простейший (надеюсь) пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Конечно ни чего не понял! Но большое спасибо! буду разбираться дальше!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 10:54 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
У меня не поддерживается PIVOT! Есть ли какие нибудь другие варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 12:22 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
RamisУ меня не поддерживается PIVOT! Есть ли какие нибудь другие варианты?Чем же не поддерживается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 12:23 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичЧем же не поддерживается? Версию пусть покажет... :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 12:26 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 12:26 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичRamisУ меня не поддерживается PIVOT! Есть ли какие нибудь другие варианты?Чем же не поддерживается? Ну не то что не поддерживается))) Пишет: Incorrect syntax near 'PIVOT'. You may need to set the compatibility level of the current database to a higher value to enable this feature. See help for the stored procedure sp_dbcmptlevel. Я делаю: EXEC sp_dbcmptlevel #tmp, 90; GO Но всё равно не срабатывает! DECLARE @FormObuch int, @SPEC int, @KURS int, @KolNaKurse int, @KolAkadem int, @AllKolNaKurse int, @AllKolAkadem int, @TypeObuch int,@TypeObuch2 int,@TO varchar(50) CREATE TABLE #tmp(tmp1 int) DELETE FROM #tmp SET @FormObuch=6 SET @TO='Сводная' IF (@TO = 'Сводная') SET @TypeObuch=4 SET @TypeObuch2=11 IF (@TO = 'Договор') SET @TypeObuch=4 SET @TypeObuch2=4 IF (@TO = 'Бюджет') SET @TypeObuch=11 SET @TypeObuch2=11 SET @SPEC=1 SET @KURS=1 SET @AllKolNaKurse=0 SET @AllKolAkadem=0 WHILE @SPEC <= 6 BEGIN WHILE @KURS <= 6 BEGIN SELECT @KolNaKurse=count(*)FROM CRM WHERE Key_pSTATUSES_Fact=@KURS and Key_pSPECIALITY=@SPEC and Key_pFormObuch_Dim=@FormObuch and (Key_pSTATUSES=10 or Key_pSTATUSES=@KURS) and (Key_pTypeObuch_Dim=@TypeObuch or Key_pTypeObuch_Dim=@TypeObuch2) SELECT @KolAkadem=count(*)FROM CRM WHERE Key_pSTATUSES_Fact=@KURS and Key_pSPECIALITY=@SPEC and Key_pFormObuch_Dim=@FormObuch and Key_pSTATUSES=10 and (Key_pTypeObuch_Dim=@TypeObuch or Key_pTypeObuch_Dim=@TypeObuch2) INSERT INTO #tmp(tmp1) VALUES (@KolNaKurse) INSERT INTO #tmp(tmp1) VALUES (@KolAkadem) SET @KURS = @KURS+1 SET @KolNaKurse = 0 SET @KolAkadem = 0 END SET @SPEC = @SPEC+1 SET @KURS = 1 END EXEC sp_dbcmptlevel #tmp, 90; GO SELECT * FROM (SELECT * FROM #tmp) q PIVOT (tmp1) pvt DROP TABLE #tmp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 12:30 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
авторНу не то что не поддерживается))) Пишет: Incorrect syntax near 'PIVOT'. You may need to set the compatibility level of the current database to a higher value to enable this feature. See help for the stored procedure sp_dbcmptlevel. Я делаю: EXEC sp_dbcmptlevel #tmp, 90; GO Но всё равно не срабатывает!А ничего, что для sp_dbcmptlevel нужно базу указывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 12:31 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
RamisSELECT * FROM (SELECT * FROM #tmp) q PIVOT (tmp1) pvtСтатью Вы не читали Пример мой не смотрели Даже не знаю, чем Вам помочь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 12:32 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
Ramis, а Вас не смущает в имени процедуры sp_dbcmptlevel буковки db ? Почему Вы применяете её к таблице??? Лучше напишите здесь результат Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 12:34 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
ПаганельRamisSELECT * FROM (SELECT * FROM #tmp) q PIVOT (tmp1) pvtСтатью Вы не читали Пример мой не смотрели Даже не знаю, чем Вам помочь Статью я прочитал - не понял)) Я старался делать всё по вашему примеру!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 12:36 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
Всё PIVOT я подключил!!! Но как с ним работать я так и не понял!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 12:40 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
Всё с PIVOT я разобрался! а как теперь сделать что бы он заполнял в той же последовательности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 14:01 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
RamisВсё с PIVOT я разобрался! а как теперь сделать что бы он заполнял в той же последовательности? Еще раз разобраться с PIVOT??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2010, 14:06 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
День добрый. Такой же примерно вопрос, но таблица немного другая. Нужно сделать без pivot т.к. потом нужно будет сделать чтобы и в my sql работало тоже. Скрины во вложении. Примечание: Таких code много тысяч. У каждого из них от 1 до 20 delivery. Причем для каждого code количество delivery=количеству cnt Помогите пж-та. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2018, 00:34 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
ЕслиТакой же примерно вопрос, но таблица немного другая. Нужно сделать без pivot т.к. потом нужно будет сделать чтобы и в my sql работало тоже.Ваша задача совсем другая, PIVOT-ом её не сделать. Варианты решений тоже есть в ФАКе (ищите агрегирование строк). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2018, 09:47 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
Пивотом мне не нужно. Запрос на основе вышестоящего, я написал. Но только для агрегирования delivery Код: sql 1. 2. 3. 4. 5. 6. Но он неправильно работает, т.к. или здесь надо менять Код: sql 1. или где-то в подзапросе нужна группировка по полю Code. И + нужно еще добавить агрегирование CNT. В факе подобной задачи не нашел. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2018, 13:30 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
Еслипотом нужно будет сделать чтобы и в my sql работало тоже.Не выйдет. Если версия MSSQL позволяет, см. string_agg Если нет, то Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2018, 14:23 |
|
||
|
Как перевернуть таблицу!
|
|||
|---|---|---|---|
|
#18+
invm..Если версия MSSQL позволяет, см. string_agg..SQL_2017/AW14: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. или в твоём случае: Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2018, 14:48 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39702927&tid=1689111]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 260ms |
| total: | 452ms |

| 0 / 0 |
