我当前正在使用GROUP_CONCAT根据表A中的逗号分隔ID查找表B中的名称。这工作正常,但当逗号分隔ID相同时除外。 由于我不希望查询仅返回一个值,而不是用逗号分隔的相同值,因此我不能使用DISTINCT。

当我不使用DISTINCT时,该值将重复五次。

TABLE A
+--------------+--------+
| company      | order  | 
+--------------+--------+
| ABC Corp     | 1,1    |
| DEF Corp     | 1,2    |
+--------------+--------+

TABLE B
+----+--------------+
| id | fruit        | 
+----+--------------+
| 1  | Apple        | 
| 2  | Banana       | 
+----+--------------+

因此,对于查询,我想将1,1作为“ Apple,Apple”而不是“ Apple”返回。

关于如何解决这个问题的任何想法?

===============>>#1 票数:1

SELECT tb.id,GROUP_CONCAT(tb.fruit) FROM ta
JOIN tb
ON FIND_IN_SET(tb.id,ta.`order`)>0
GROUP BY tb.id

小提琴

  ask by stevven translate from so

未解决问题?本站智能推荐:

1回复

SQL如何在不同的连接条件下使用相同的字段?

好吧,我有这个问题。 我有以下表格: 我对此查询很好: 结果: 但是现在我需要像这样添加shop列: 这是我到目前为止的方法,但是它总是在shop_name字段上返回null: 我认为问题在于:“ GROUP_CONCAT(CONCAT(当m.id =
2回复

有没有人发现限制group_concat行的(简单)方法?

我有一个非常大的问题来提取有关每个国家的报告的信息,而现在,我可以限制的唯一方法是在最后设置Limit 10或一些数字,这将限制国家。 但是,我想要做的是将group_concat限制为每个国家/地区10个结果,在我的情况下,这将以某种方式限制10个单词group_concat每个实例。
1回复

合并多行以消除重复,并合并多列

我正在使用mysql并希望执行以下操作: 对每一列取不同的值,如果一条记录存在多个不同的值,则进行串联 并且还将内容从多列合并到1,以消除空列。 地址建筑物名称地标地区局部地区城市州国家密码5 Vaniga Valaagam Old Bus Stand Stand
1回复

将CONCAT与GROUP_CONCAT一起使用

我必须将一些数据导出到Excel文件中。 此数据来自名为“ tb_Forms”的表,并且在另一个名为“ tb_Movement”的表中具有多重关系,如下所示 我想找到一种获得两种结果的方法: 但是我只能得到第一个结果(JoãoSilva),仅此而已。 这是我做的查询:
1回复

GROUP_CONCAT()中的CONCAT()计数

我正在尝试在MySQL中使用group_concat,concat和count函数获取结果,但它给了我错误。 这是我的桌子 首先,当我尝试通过concat获取计数和状态时,它可以正常工作。 输出: 按住:2 完成:3 取消:2 到这里都很好。 现在,我希
1回复

如何使用没有concat剪切的mysql group_concat(concat())

我很好奇为什么带有group_concat(concat())的mySQL没有显示结果的全长。 对于较少的结果集,它是完美的 - 结果完美显示。 但当另一组让我们说结果超过12时。 MySQL代码: MySQL结果: 现在问题就是我所说的。 结果没有完全加载。 我假设
1回复

SQL GROUP_CONCAT无法与2个表联接一起使用

我有此查询,按预期工作: 询问 输出(JSON) 但是现在我需要向abo_name属性添加更多详细信息,我需要输出完整的abo名称。 我试图将INNER JOIN添加到查询中,但是GROUP_CONCAT不再起作用。 例子如下: 询问 输出(JSON)
1回复

GROUP_CONCAT mysql语句错误

我已经尝试了mysql ststement 到列的动态行 ,然后在这里添加查询语句: 结果消息: 我不熟悉这样的sql语句,并且该SQL QUERY有什么问题 谢谢...
1回复

GROUP_CONCAT或SUM,内部包含Count(*),在MySQL中为GROUP BY

我目前有这个查询: 它产生此: 有没有办法对这些行求和,或将结果行连接为字符串。 我尝试使用GROUP_CONCAT,但收到“无效使用组功能”错误。 相反,如果可能的话,我想在一个查询中产生以下内容: 要么
1回复

修改在MySQL中通过group_concat()获得的值

我有以下[表a] 在做一个group_concat之后,我得到以下内容 但是我想显示一个值出现在结果集中该值之前的次数,以避免出现冗余,如下所示 我该如何实现?