sqlite group_concat「特別なニーズ」で選択
-
19-09-2019 - |
質問
sqliteでgroup_concatを使用する方法を知っています。
id - f1 - f2 - f3
1 - 1 - a - NULL
2 - 1 - b - NULL
3 - 2 - c - NULL
4 - 2 - d - NULL
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でどのようにできるか考えていますか?
ありがとうございました
解決
なぜあなたがこれを望んでいるのかわからないが、ここに行く:
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
;
他のヒント
組み込みSQLステートメントを使用します
select id, f1, f2, (select group_concat(f2) from t t2 where t2.f1 = t1.f1)
from t t1
所属していません StackOverflow