При попытке развернуть мою таблицу - динамическую c, которую я не могу определить как записи, мои изменения могут быть добавлены или удалены - я получаю фатальную ошибку. Я использовал проверенный ответ от на этот вопрос и изменил его там, где это было необходимо. Вы увидите, что я использую AVG вместо SUM.
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'AVG(IF(country = ''',
country,
''', option_id, NULL)) AS ',
country
)
) INTO @sql
FROM
(SELECT gspa.question_id AS question_id, sct.country AS country, gspa.option_id AS option_id
FROM gs_poll_answers gspa
LEFT JOIN skill_cv_test sct ON sct.usr_id = gspa.user_id
WHERE gspa.poll_id = 1) sctable;
SET @sql = CONCAT('SELECT gspa.question_id', @sql, ' FROM gs_poll_answers gspa LEFT JOIN skill_cv_test sct ON sct.usr_id = gspa.user_id WHERE gspa.poll_id = 1 GROUP BY gspa.question_id');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
Я получаю ошибку:
Fatal error: Uncaught TypeError: Argument 1 passed to PhpMyAdmin\Sql::resultSetHasJustOneTable() must be of the type array, boolean given, called in /usr/local/dh/web/phpmyadmin/libraries/classes/Sql.php on line 1908 and defined in /usr/local/dh/web/phpmyadmin/libraries/classes/Sql.php:143 Stack trace: #0 /usr/local/dh/web/phpmyadmin/libraries/classes/Sql.php(1908): PhpMyAdmin\Sql->resultSetHasJustOneTable(false) #1 /usr/local/dh/web/phpmyadmin/libraries/classes/Sql.php(2252): PhpMyAdmin\Sql->getQueryResponseForResultsReturned(true, Array, '1812apmy', 'gs_poll_answers', NULL, NULL, Object(PhpMyAdmin\Display\Results), './themes/pmahom...', '1', 0, NULL, NULL, NULL, NULL, NULL, 'SELECT\r\n\tGROUP_...', NULL) #2 /usr/local/dh/web/phpmyadmin/import.php(736): PhpMyAdmin\Sql->executeQueryAndGetQueryResponse(Array, false, '1812apmy', 'gs_poll_answers', NULL, NULL, NULL, NULL, NULL, NULL, 'tbl_sql.php', './themes/pmahom...', NULL, NULL, NULL, 'SELECT\r\n\tGROUP_...', NULL, NULL) #3 {main} thrown in /usr/local/dh/web/phpmyadmin/libraries/classes/Sql.php on line 143
На данный момент я понятия не имею, в чем проблема, кроме Идея, что он не может обрабатывать объединение в «От».
Является ли мой код проблемой, это сервер или что-то еще?
РЕДАКТИРОВАТЬ: Создать таблицы для skill_cv_test
CREATE TABLE `skill_cv_test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`usr_id` int(32) NOT NULL,
`category` int(16) NOT NULL COMMENT 'school_or_job',
`comp_id` int(32) NOT NULL,
`position` varchar(64) NOT NULL,
`description` text,
`country` varchar(16) NOT NULL,
`state` varchar(16) NOT NULL,
`city` varchar(64) NOT NULL,
`start_date` date NOT NULL,
`end_date` date DEFAULT NULL,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=71 DEFAULT CHARSET=utf8
и gs_poll_answers
CREATE TABLE `gs_poll_answers` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(64) NOT NULL,
`poll_id` int(64) NOT NULL,
`question_id` int(64) NOT NULL,
`option_id` int(64) NOT NULL,
`vote_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=130 DEFAULT CHARSET=utf8