2017-04-08 9 views
0

Ich habe eine Tabelle (t), die ich brauche, um einige Informationen zu erhalten. Ich verwende diese 2 Abfragen, um es zu bekommen.
Aber gibt es eine Möglichkeit, es in einer einzigen Abfrage zu machen?SQL Server Verbinden Sie zwei Abfragen

SELECT nrplu, SUM(preco) as TP, SUM(kg) as TK, seccao 
FROM t 
GROUP BY nrplu, seccao 


SELECT nrplu, count(*) as TT FROM t GROUP BY nrplu 

Antwort

1

Dies sollte für Sie arbeiten.

WITH CTE_preselect AS 
(SELECT nrplu, count(*) as TT 
FROM t 
GROUP BY nrplu) 

SELECT t.nrplu,TT, SUM(preco) as TP, SUM(kg) as TK, seccao 
FROM t 
    JOIN CTE_preselect ON t.nrplu = CTE_preselect.nrplu 
GROUP BY t.nrplu,TT, seccao 
+0

Ich bekomme den Fehler "'CTE_preselect' ist keine anerkannte GROUP BY-Option." –

+0

Ändern "Von t JOIN t" zu "Von t JOIN CTE_preselect" – TriV

+0

Ich aktualisierte meine Antwort. – Jason