MySQL 没有正确分组 'text' 单元格?

标签 mysql

我的代码无法正常工作:

SELECT tbl2.entry_id, tbl2.field_id_2, group_concat(DISTINCT tbl2.tag_name SEPARATOR ', ') FROM
    (SELECT e.entry_id, e.field_id_2, tbl1.tag_name

      FROM (exp_channel_data e)
LEFT JOIN (SELECT te.entry_id, tag.tag_id, tag.tag_name FROM exp_tag_entries te, exp_tag_tags tag WHERE te.tag_id = tag.tag_id) tbl1
      ON (e.entry_id = tbl1.entry_id) 
     WHERE e.entry_id IN (371, 373)) tbl2
    GROUP BY tbl2.entry_id, tbl2.field_id_2

它返回:

371;<p>...</p>;digital strategy
371;<p>...</p>;seo
371;<p>...</p>;inbound marketing
373;<p>...</p>;infographic, strategy, social media

但应该是:

371;<p>...</p>;digital strategy, seo, inbound marketing
373;<p>...</p>;infographic, strategy, social media

请帮我解决这个问题。 “field_id_2”单元格的类型是文本,具有多行值。

例如,row with entry_id = 371 is here on PasteBin .

最佳答案

试试这个

 GROUP BY  tbl2.entry_id

而不是

 GROUP BY tbl2.entry_id, tbl2.field_id_2

并改变这个

 group_concat(DISTINCT tbl2.tag_name SEPARATOR ', ')

group_concat(tbl2.tag_name SEPARATOR ', ')

关于MySQL 没有正确分组 'text' 单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23873182/

相关文章:

mysql - collectd - 如何安装 dbi 插件?

mysql - rails mysql适配器错误

php - MediaWiki:如何从用户列表中隐藏用户?

mysql - 是否有一个选项可以计算 SQL 中串联单词列表中单词对的数量

php - 如何从特定行开始计算表格的所有行

php - 如何在codeigniter中使用JOIN显示两个表的结果?

mysql - 获取sql中的上一行

python - Google Cloud SQL - 操作系统环境未设置为 Google App Engine

MYSQL:从两列中选择最高的ID并排序

mysql - 使用 "NEW"的触发器不起作用