2
ich habe 2 Tabellen: 'Eltern' und 'Kind'Gruppe von UNION Ergebnis
KIND:
ID | NAME | PARENT_ID
--------------------------------
1 | Child 1 | 1
2 | Child 2 | 1
3 | Child 3 | 1
4 | Child 4 | 1
5 | Child 5 | 1
6 | Child 6 | 2
7 | Child 7 | 2
8 | Child 8 | 2
9 | Child 9 | 2
10 | Child 10 | 2
11 | Child 11 | 2
12 | Child 12 | 2
13 | Child 13 | 2
14 | Child 14 | 2
15 | Child 15 | 3
16 | Child 16 | 3
17 | Child 17 | 3
ELTERN:
ID | NAME | UNIQUE_ID
----------------------------------
1 | PARENT 1 | uniq-001
2 | PARENT 2 | uniq-002
3 | PARENT 3 | uniq-003
ich diese zwei Tabelle Union wollen und bekommen Ergebnis wie folgt
ID | NAME | PARENT_ID
---------------------------------
1 | parent 1 | 1
1 | child 1 | 1
2 | child 2 | 1
2 | parent 2 | 2
6 | child 6 | 2
7 | child 7 | 2
12 | child 12 | 2
13 | child 13 | 2
14 | child 14 | 2
3 | parent 3 | 3
15 | child 15 | 3
mein SQL-Code sieht lik e
select * from
(
SELECT
id,
name,
id as parent_id
from
parent
UNION all
SELECT
id,
name,
parent_id
from
child
) t
group by 3, 1, 2
Ich weiß nicht warum, aber das Ergebnis wird nicht von PARENT_ID gruppiert. Wie kann ich diese Abfrage nach PARENT_ID gruppieren?
Funktioniert es, wenn Sie t angeben Die Spalten explizit? ('group by parent_id, id, name') –
Willst du einfach eine' order by'? –
@GordonLinoff, ich möchte nach jedem Elternteil seine Kinder anzeigen – Nasay