Ich habe zwei Tabellen mit Eltern-Kind-BeziehungBerechnung Summe der Balance Kinder für jeden Elternteil
Table1
| Account_no | Main_account_no | bla bla
+------------+-----------------+----------
| 234 | 111 |
| 235 | 111 |
| 222 | 112 |
| 220 | 112 |
Die zweite:
Table2
| Account_no | Balance | bla bla
+------------+-----------------+----------
| 234 | 10 |
| 235 | 15 |
| 222 | 55 |
| 220 | 45 |
Was ich brauche, um die Summe der Balance von Kinderkonten zu berechnen für jedes Elternkonto. Das erwartete Ergebnis ist
| Main_account_no | Balance |
+-----------------+---------+
| 111 | 35 |
| 112 | 100 |
Ich versuche zu verwenden
SELECT MAIN_ACCOUNT_NO, SUM((SELECT BALANCE FROM TABLE2 WHERE ACCOUNT_NO = A.ACCOUNT_NO)) OVER (PARTITION BY MAIN_ACCOUNT_NO)
FROM TABLE1 A
GROUP BY MAIN_ACCOUNT_NO
Aber ich bekomme die ORA-00979: not a GROUP BY expression
Wo habe ich falsch gemacht?
I ' Ich bin mit Oracle nicht so vertraut, aber Ihre Aussage besiegt den Zweck einer Gruppe durch. Sie fordern jede Zeile auf, eine weitere Abfrage auszuführen, um die Summe für Sie abzurufen. Ich möchte nicht zu viel verraten, weil ich vermute, dass dies Hausaufgaben sind :-) –
Ich würde damit beginnen, die Aggregation zu ignorieren und eine Abfrage zu erstellen, die Ihnen eine Tabelle mit 3 Spalten liefert; 'main_account_no, account_no, balance' - dann kannst du die Gruppe dazu hinzufügen. –
hm du bist richtig mit 'group by' scheint nutzlos, ich werde versuchen, Ihre vorgeschlagene Ansatz, und es ist keine Hausaufgaben – Hatik