sql - 带有 GROUP_CONCAT 和 CONCAT 的子查询返回 STILL 多于 1 行,错误 1242
问题描述
我得到这个错误:
“错误 1242 超过 1 行”
即使我已经使用 group_concat ..
这是我的查询,它给了我错误
SELECT
`coms_participant_exam_event`.`coms_exam_event_id` AS PEE_ID,
(SELECT GROUP_CONCAT((SELECT CONCAT(`bpmspace_coms_v1`.`state`.`name`," (",`coms_participant_exam_event`.`state_id`,") ", count(`coms_participant_exam_event`.`state_id`))
FROM `coms_participant_exam_event`
JOIN `bpmspace_coms_v1`.`state` ON
(
`bpmspace_coms_v1`.`state`.`state_id` =
`bpmspace_coms_v1`.`coms_participant_exam_event`.`state_id`
)
where `coms_exam_event_id` = `coms_participant_exam_event`.`coms_exam_event_id`
group by `bpmspace_coms_v1`.`coms_participant_exam_event`.`state_id`) , ','))
FROM `coms_participant_exam_event`
group by `coms_participant_exam_event`.`coms_exam_event_id`
当我“硬编码”coms_exam_event_id
带有 id 的只有 1 行时它正在工作 - 不知道为什么 GROUP_CONCAT 不够
SELECT
`coms_participant_exam_event`.`coms_exam_event_id` AS PEE_ID,
(SELECT GROUP_CONCAT((SELECT CONCAT(`bpmspace_coms_v1`.`state`.`name`," (",`coms_participant_exam_event`.`state_id`,") ", count(`coms_participant_exam_event`.`state_id`))
FROM `coms_participant_exam_event`
JOIN `bpmspace_coms_v1`.`state` ON
(
`bpmspace_coms_v1`.`state`.`state_id` =
`bpmspace_coms_v1`.`coms_participant_exam_event`.`state_id`
)
where `coms_exam_event_id` = 877523
group by `bpmspace_coms_v1`.`coms_participant_exam_event`.`state_id`),','))
FROM `coms_participant_exam_event`
group by `coms_participant_exam_event`.`coms_exam_event_id`
感谢您的帮助抢劫
解决方案
看起来 group_concat 中不允许计数。我用“select concat ... count ... part”创建了一个帮助视图,然后从视图中做了 group_concat ...
推荐阅读
- c++ - 初始化多通道 OpenCV Mat
- laravel - 如何将 v-model 传递给另一个 v-model
- python-3.x - Hackerrank 列出问题 ~ 标准测试用例有效,但其他测试用例无效
- tensorflow - 如何使用 keras/tensorflow 发现方程变量的值?
- c++ - 表达式:Visual Studio 中的向量下标超出范围错误
- javascript - Ember 3 计算属性 getter setter
- rest - 如何使用 Aqueduct 为 MySQL 创建一个 persistentStore?
- python - 如何将 word2vec 嵌入作为 Keras 嵌入层传递?
- python - Python管道中的视频和音频流到ffmpeg
- javascript - 如何检索输入到下一个 HTML 页面的调查单选按钮?使用本地存储和纯 JavaScript