加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite3 – 将多行和多列合并为一列而不重复

发布时间:2020-12-12 18:58:22 所属栏目:百科 来源:网络整理
导读:我有一个问题: 在我的SQLite(android上的sqlite3)数据库中,我有一个像这样的表: idImp | cer | caus---------------------id1 | 010 | D1id1 | 010 | D2id1 | 011 | D2id1 | 011 | D3id2 | 010 | D1id2 | 010 | D2id2 | 011 | D2id2 | 011 | D4 而且我想去
我有一个问题:

在我的SQLite(android上的sqlite3)数据库中,我有一个像这样的表:

idImp  | cer  | caus
---------------------
id1    | 010  | D1
id1    | 010  | D2
id1    | 011  | D2
id1    | 011  | D3
id2    | 010  | D1
id2    | 010  | D2
id2    | 011  | D2
id2    | 011  | D4

而且我想去

idImp | Conc
id1   | '010-D1-D2;011-D2-D3;'
id2   | '010-D1-D2;011-D2-D4;'

使用SQLite有可能吗?有谁知道如何使这项工作?

谢谢!

?编辑(SRY,结果表中有错误):

我需要的是一个SQL查询,它将字段“caus”和字段“cer”连接到由“idImp”分组的特定分隔符.

我在sqlite group_concat(X,Y)的文档中发现它可以在单列上工作,因为它为我服务,但我需要连接多个列,我不知道该怎么办…

解决方法

将值分为两个步骤:

SELECT idImp,group_concat(causConc,'') AS Conc
FROM (SELECT idImp,cer || '-' || group_concat(caus,'-') || ';' AS causConc
      FROM MyTable
      GROUP BY idImp,cer)
GROUP BY idImp

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读