Динамический SQL-запрос — & gt; данные строки к имени столбца

У меня небольшая / большая проблема с динамическим запросом SQL / данными строки к имени столбца.
У меня есть эта ссылка:
http://sqlfiddle.com/#!9/b4478/1

Но если я добавлю ОЧЕНЬ больше данных, запрос не будет работать.
Я получаю ошибку:

You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near 'FROM test
GROUP  BY nid' at line 2

моя база данных в настоящее время большая.
в следующие дни я делаю пустую базу данных.
я добавляю в имена (другую таблицу, связанный идентификатор с «nid»), дату (данные), сумму (osszeg).
неделя за неделей данные слишком много (возможно, но слишком много, а затем не работает запрос)

и мне нужен простой / один код запроса PHP для этого запроса.

Спасибо за помощь и извините мой плохой английский.
Большое спасибо!

0

Решение

Не видя фактического оператора SQL, мы просто догадываемся. Но я подозреваю, что вы сталкиваетесь с документированным поведением GROUP_CONCAT функция, которая возвращает строку максимальной длины, указанной в переменной MySQL GROUP_CONCAT_MAX_LEN, По умолчанию используется 1024 байта.

Ссылка: https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_group_concat_max_len

SET group_concat_max_len = 1024;

Для отладки у вас может быть хранимая программа MySQL для выдачи содержимого @sqlвместо того, чтобы пытаться подготовить его, например,

SELECT @sql;

Возможно, вы захотите сравнить длину (в байтах) строки, возвращаемой из GROUP_CONCAT функция не равна максимальной длине GROUP_CONCAT_MAX_LEN, чтобы проверить, было ли усечено значение.


С другой стороны, я бы предпочел вернуть этот результат в виде набора строк, а не в виде столбцов в одной строке. И я хотел бы сделать любой необходимый перевод для отображения на стороне клиента, а не делать это в базе данных.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]