SQLite Group_Concat Wählen Sie mit „besonderen Bedürfnissen“
-
19-09-2019 - |
Frage
Ich weiß, wie man Group_Concat mit SQLite verwendet, um Folgendes zu tun:
id - f1 - f2 - f3
1 - 1 - a - NULL
2 - 1 - b - NULL
3 - 2 - c - NULL
4 - 2 - d - NULL
Wählen Sie ID, F1, Group_Concat (F2), F3 aus der Tabellengruppe durch F1
result:
2 - 1 - a,b - NULL
4 - 2 - c,d - NULL
Wie Sie sehen können, werden die 1 und 3 der ID fallen gelassen, was das erwartete Verhalten ist. Aber ich würde brauchen:
1 - 1 - a - a,b
2 - 1 - b - a,b
3 - 2 - c - c,d
4 - 2 - d - c,d
Jeder Datensatz wurde zurückgegeben, und ein anderes Feld (F3) wurde mit dem Group_Concat aktualisiert
Irgendeine Idee, wie dies in SQLite getan werden könnte?
Vielen Dank
Lösung
Ich bin mir nicht sicher, warum du das willst, aber hier geht es:
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
;
Andere Tipps
Verwenden Sie eine eingebettete SQL -Anweisung
select id, f1, f2, (select group_concat(f2) from t t2 where t2.f1 = t1.f1)
from t t1
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow