2010-02-12 4 views
1

J'ai une table temporaire peuplée dans un sproc qui ressemble à ceci:plusieurs sommes en ligne dans un total Colonne

Company Col1  Col2  Col3 Total 
Company1 4   3  2  9 
Company2 1   0  3  4 
Total  ?   ?  ?  ? 

est-il un moyen habile pour obtenir la colonne totale inférieure peuplée avec SUM de chaque ligne un coup sans avoir à faire chaque colonne individuellement en utilisant des sous-requêtes?

+0

Quelle base de données utilisez-vous? –

+0

La colonne "Bottom total column" devrait être "row total bottom". –

Répondre

1
select sum(col1), sum(col2), sum(col3), sum(col1+col2+col3) 
FROM CompanyTable 
+0

En fait, c'est la somme des deux. –

+0

Ah oui, mon commentaire était erroné, désolé. –

0

Si le SGBD que vous utilisez est MS SQL que d'être au courant de la façon de faire référence à la table temporaire:

SELECT SUM(Col1) as TotalOfCol1,... 
FROM #Company 
0

Si vous utilisez MySQL, vous pouvez obtenir toute la table dans une requête en utilisant la WITH ROLLUP caractéristique:

SELECT Company, SUM(Col1), SUM(Col2), SUM(Col3), SUM(Col1 + Col2 + Col3) 
FROM Table1 
GROUP BY Company 
WITH ROLLUP 

Résultats:

'Company1' 4 3 2 9 
'Company2' 1 0 3 4 
''   5 3 5 13 <--- This extra row is the column totals 
Questions connexes