mysql - 如何打破用于连接其他表以获取其他数据的第一列中的数据

标签 mysql sql

如何打断用于连接其他表以获取其他数据的第一列中的数据。重点是 从代码与表1相同的数据部分列表2的结果中更改表数据

例子

表 1

no       description           code 
1          one                  A
1          two                  B
2          three                C

表 2

no         code              codeall
1          ABB                null
1          BBC                null
2          ABC                null

我想成为这样的人

表 2

no            code                  codeall
1               ABB                one, two, two
1               BBC                two, two,three
2               ABC                one,two,three

我如何修改这个查询

UPDATE tabel1 tb1 JOIN tabel2 tb2 ON tb1.no = tb2.no 
SET tb2.codeall = ... where tb2.no = 1

最佳答案

您可以使用 GROUP_CONCAT像这样

   UPDATE     
   tabel2 tb2,
    (select tabel1.no, GROUP_CONCAT(tabel1.code) as 'data' from tabel1 group by tabel1.no) as data
SET 
    tb2.codeall = data.data
WHERE
    tb2.no = 1 and data.no = tb2.no

关于mysql - 如何打破用于连接其他表以获取其他数据的第一列中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54322609/

相关文章:

php - admin如何修改用户信息

php - PHP MySQL 日期的增量天数

python - python中的sql脚本中未指定数量的变量

sql - 将 Progress/4GL 转换为 SQL

php - SQL单行多行

mysql - 如何将sql表的信息调用到asp.net中?

php - 对于每个/查询没有给出正确的值

php - XML 到 MySql 数据库 (SimpleXML)

php - 如何防止 PHP 中的 SQL 注入(inject)?

mysql select 获取同一结果行中按列分组的行