Nano Hash - криптовалюты, майнинг, программирование

Ошибка в хранимой процедуре Pivot с использованием MySql версии 8.0.17

К сожалению, MySQL не имеет функции PIVOT, которая в основном предназначена для того, что я пытаюсь сделать.

Мне нужны возвращаемые значения строк набора в качестве имени столбца с использованием хранимой процедуры ниже этой ссылки, кредиты @Akina

Сводные таблицы MySQL - строки в столбцы. Запрос

Но у меня ошибка при использовании

CALL PIVOT('sourcetable', 'contents', 'sUn', 'contents')

1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, на предмет правильного синтаксиса для использования рядом с '' )) parsed' в строке 16. Время: 0,586 с.

Это таблица MySql

+---------+----------+
| sUn     | contents |
+---------+----------+
| Area NO | 1234567  |
| Zone S  | 1234568  |
| Zone N  | 1234560  |
| Zone I  | 1234561  |
| Zone C  | 1234562  |
| Zone G  | 1234566  |
| Zone V  | 1234564  |
| Zone B  | 1234565  |
| Zone A  | 1234569  |
| CR      | 1234562  |
| ESA     | 1234561  |
| EPI     | 1234564  |
| SV      | 1234563  |
| SA      | 1234567  |
+---------+----------+

А это вид to_columnslist

SELECT DISTINCT
    concat( '`', `t_table`.`sUn`, '` VARCHAR(255) path \'$."', `t_table`.`sUn`, '"\'' ) AS `line` 
FROM `t_table`;
+--------------------------------------------+
| line                                       |
+--------------------------------------------+
| `Area NO` VARCHAR(255) path '$."Area NO"'  |
| `Zone S` VARCHAR(255) path '$."Zone S"'    |
| `Zone N` VARCHAR(255) path '$."Zone N"'    |
| `Zone I` VARCHAR(255) path '$."Zone I"'    |
| `Zone C` VARCHAR(255) path '$."Zone C"'    |
| `Zone G` VARCHAR(255) path '$."Zone G"'    |
| `Zone V` VARCHAR(255) path '$."Zone V"'    |
| `Zone B` VARCHAR(255) path '$."Zone B"'    |
| `Zone A` VARCHAR(255) path '$."Zone A"'    |
| `CR` VARCHAR(255) path '$."CR"'            |
| `ESA` VARCHAR(255) path '$."ESA"'          |
| `EPI` VARCHAR(255) path '$."EPI"'          |
| `SV` VARCHAR(255) path '$."SV"'            |
| `SA` VARCHAR(255) path '$."SA"'            |
+--------------------------------------------+
14 rows in set (0.11 sec)

Пожалуйста, помогите мне сделать это.


  • Пожалуйста, опубликуйте свой код процедуры в виде текста (мы не знаем, является ли код в ссылке рассматриваемым кодом) 04.03.2021
  • @P.Salmon Спасибо, я пытался опубликовать свою процедуру, но вопрос не вставлен. Для этого я разместил ссылку 04.03.2021
  • Если код точно такой же, как в ссылке, вам может потребоваться установить разделители.dev.mysql.com/doc/refman/8.0/en/stored-programs-defining.html 04.03.2021
  • Я бы не рекомендовал решение Акины. По крайней мере, не более чем с одним клиентом одновременно. Поскольку он создает VIEW на лету, два или более клиентов, которые попытаются сделать это одновременно, будут конфликтовать. 04.03.2021
  • @BillKarwin хорошо, вы рекомендуете? 04.03.2021
  • @P.Salmon спасибо с разделителем, у меня есть синтаксис ошибки в sp 04.03.2021
  • Я предлагаю решение, которое я дал здесь: stackoverflow.com/q/25594902/20860 04.03.2021
  • @BillKarwin Хорошо, большое спасибо за эту помощь. 05.03.2021

Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..