Ich habe folgende TabelleSQL-Abfrage mit einem zu vielen Beziehung
Table1
id name col1 col2 col3 col4
-----------------------------------
1 test 1.1 1.2 1.3 1.4
2 test2 2.1 2.2 2.3 2.4
Table2
id fk_table1 amt type(fk_table3)
-----------------------------------
1 1 2 1
2 1 3 1
3 1 9 2
4 2 1 1
und ich möchte so abfragen, dass ich zu bekommen habe unten führen
id | name | total_type1_amt |total_type2_amt | col1 col2 col3 col4
-----------------------------------------------------------------------
1 test 5 (2+3) 9 1.1 1.2 1.3 1.4
2 test2 1 0 2.1 2.2 2.3 2.4
Grundsätzlich im Ergebnis Ich will eine group by table1.id mit addierten Spalten für total_typeX_amt, es wird Millionen von Zeilen in table1 und table2 geben, also grundsätzlich nach optimierten Möglichkeiten suchen.
Warum Werden die ersten beiden Zeilen von 'table2' 'summiert und die dritte Zeile von' table2' wird in eine andere Spalte transformiert? Und warum führt die vierte Zeile von 'table2' zu '0' für' total_type2_amt'? Sehr verwirrend. – Smutje
Sehr gerade Pivot, aber was hast du probiert? Warum denken Sie nicht, dass Ihre aktuelle Lösung nicht optimiert ist? – qxg
Wo ist table3 in all dem? Sie erwähnen eine FK für diese Tabelle, und es scheint, dass Sie die verschiedenen "Typen" erstellen müssen ... – Gallus