Sqlite group_concat select 具有“特殊需求”

发布于 2024-08-14 11:14:58 字数 545 浏览 8 评论 0原文

我知道如何将 group_concat 与 Sqlite 一起使用,执行以下操作:

id - f1 - f2 - f3
 1 -  1 -  a - NULL
 2 -  1 -  b - NULL
 3 -  2 -  c - NULL
 4 -  2 -  d - NULL

select id, f1, group_concat(f2), f3 从表 如您所见,按 f1 进行分组

 result:
 2 -  1 - a,b - NULL
 4 -  2 - c,d - NULL

,ID 的 1 和 3 被删除,这是预期的行为。 但我需要:

 1 -  1 -  a - a,b
 2 -  1 -  b - a,b
 3 -  2 -  c - c,d
 4 -  2 -  d - c,d

因此,每条记录都返回,并且另一个字段(f3)用 group_concat 更新,

知道如何在 Sqlite 中完成此操作吗?

谢谢

I know how to use group_concat with Sqlite, to do the following:

id - f1 - f2 - f3
 1 -  1 -  a - NULL
 2 -  1 -  b - NULL
 3 -  2 -  c - NULL
 4 -  2 -  d - NULL

select id, f1, group_concat(f2), f3
from table
group by f1

 result:
 2 -  1 - a,b - NULL
 4 -  2 - c,d - NULL

as you can see, the ID's 1 and 3 are dropped, which is the expected behaviour.
But I would need:

 1 -  1 -  a - a,b
 2 -  1 -  b - a,b
 3 -  2 -  c - c,d
 4 -  2 -  d - c,d

so, every record returned, and another field (f3) updated with the group_concat

any idea how this could be done in Sqlite?

Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

虚拟世界 2024-08-21 11:14:58

使用嵌入的sql语句

select id, f1, f2, (select group_concat(f2) from t t2 where t2.f1 = t1.f1)
from t t1

use an embedded sql statement

select id, f1, f2, (select group_concat(f2) from t t2 where t2.f1 = t1.f1)
from t t1
淡紫姑娘! 2024-08-21 11:14:58

不确定你为什么想要这个,但这里是:

select 
  outer_t.id
 ,outer_t.f1
 ,outer_t.f2
 ,inline_view.groupfoo
 from t as outer_t 
 left join (
  select 
      f1
     ,group_concat(f2) as groupfoo 
    from t 
    group by f1
 ) inline_view on inline_view.f1 = outer_t.f1
;

Not sure WHY you want this, but here goes:

select 
  outer_t.id
 ,outer_t.f1
 ,outer_t.f2
 ,inline_view.groupfoo
 from t as outer_t 
 left join (
  select 
      f1
     ,group_concat(f2) as groupfoo 
    from t 
    group by f1
 ) inline_view on inline_view.f1 = outer_t.f1
;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文