169 похожих чатов

Всем привет, подскажите, пожалуйста, возможно ли разложить таблицу или результат

запроса:
Sname1 0
Sname1 1
Sname1 11
Sname2 0
Sname2 1
Sname2 11

Разложить в
Sname1 0 1 11
Sname2 0 1 11

Или уже проще сразу так таблицу создать сразу?…

16 ответов

27 просмотров

это называется pivot. если количество значений конкретные значения для каждого sname известны заранее - можно написать его в запросе. если нет - варианты всё равно есть, но всё становится сильно сложнее

Юлия- Автор вопроса
Kirill Leontev
это называется pivot. если количество значений ко...

Pivot можно использовать только с агрегатными функциями((( а мне нужен уникальный результат под каждым столбцом…

Юлия
Pivot можно использовать только с агрегатными функ...

что такое "уникальный результат под каждым столбцом"? приведите пример данных для которых pivot + max по второй колонке не решит вашу задачу

Юлия- Автор вопроса
Kirill Leontev
что такое "уникальный результат под каждым столбцо...

Например, есть таблица: Имя Франшиза Id Вариант1 0 1 Вариант1 1 2 Вариант1 11 3 Вариант2 0 4 Вариант2 1 5 Вариант2 11 6 Таблица 2: Где номер варианта= Id из таблицы 1 Id summ номер варианта 500 1 200 2 250 3 600 4 350 5 200 6 Связь в запросе: Select * From t1, t2 Where t1.Id = t2. Номер варианта Результат: Вариант1 0 500 Вариант1 1 200 Вариант1 11 250 и тд. А я хочу такой результат: 0 1 11 Вариант1 500 200 250 Вариант2 600 350 200 Наверное, это не совсем логично из-за изначальных структур обеих таблиц, возможно, проще сразу создать вторую таблицу с тремя суммами к каждому варианту, но если есть какая-нибудь интересная функция, то это бы очень сэкономило время…

Юлия
Например, есть таблица: Имя Франшиза ...

сколько всего франшиз (уникальных 0, 1, 11 и тд)?

продолжаю не понимать в чём проблема сделать пивот. я отошёл от компьютера и не напишу сейчас готовый запрос, но можете взять за основу то что я выложил по ссылке выше. вместо rn будет ваша франшиза, вместо sum(val) - sum(summ) или max(summ) в зависимости от того что надо

Юлия- Автор вопроса
Kirill Leontev
продолжаю не понимать в чём проблема сделать пивот...

Поняла вас, попробую, спасибо большое! Видимо, я не так поняла роль агрегатной функции в пивоте.

Юлия
Например, есть таблица: Имя Франшиза ...

Просто на заметку - в Телеграме можно куски сообщений помечать моноширинным шрифтом, чтоб не мучиться с пробелами пытаясь "рисовать" таблицы. Полноценного Markdown нет, но "Моно" форматирование лучше чем ничего: SNAME VAL_1 VAL_2 VAL_3 sname1 0 1 10 sname2 0 1 10 sname3 0 10 null

Уж лучше выкладывать на https://sqlize.online/s/13

Slava Rozhnev SQLtest.online https://phpize.online
Уж лучше выкладывать на https://sqlize.online/s/13

Конечно, я то только за! Но кстати диалог выше частично затронул сайт для онлайн работы с запросами, хоть и не Ваш, а конкурентной организации (dbfiddle.uk)

Kirill Leontev
Слава, ну хватит уже пиариться

Извините, что задел Ваши чувства. Я не подумал что публикация актуальной ссылки раз в два месяца может Вас раздражать

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта