【发布时间】:2014-04-12 20:42:44
【问题描述】:
我有一个可怕的问题,
已移除
现在,当用户只喜欢一个乐队时,这工作得非常好,但是当用户喜欢 2 个或更多乐队时,由于子查询返回多个结果,这将不起作用,但是我尝试然后 GROUP_CONCAT 我最终得到了 @987654322 @子句如下
已移除
这会导致错误#1111 - Invalid use of group function
如果有人能够帮助我做到这一点,因为我真的不想将负载放到 Apache 服务器上,将结果拉入 php 以获取值并触发大量查询,这也可能最终达到数百或者可能对页面的一个部分进行数千次查询
更新 2: 呜呜呜……
SELECT
B.*,
(SELECT COUNT(*) FROM `blog_likes` AS BL WHERE BL.`blog_id` = B.`blog_id` ) AS likes
FROM blog AS B
WHERE `tags` REGEXP (
SELECT GOUP_CONCAT(ConcatBandNames, '|')
FROM (
SELECT CONCAT(
CONCAT(
'%',
(
SELECT
`band_name`
FROM `band` AS BA
WHERE BA.`band_id` =
(
SELECT `band_id`
FROM `likes` AS L
WHERE `user_id` = '7'
AND `band_id` = BA.`band_id`
)
)
)
, '%'
) AS ConcatBandNames
) AS T
)
在语法方面工作,但现在它错误地说 #2014 - Commands out of sync; you can't run this command now
【问题讨论】:
标签: mysql phpmyadmin group-concat