2011-09-22 6 views
0

J'ai un tableau avec les données de commandes achetées.
Chaque ligne contient le montant de certains articles achetés, le coût par article et le groupe de numéros de commande. Chaque article différent acheté est une nouvelle ligne avec le même numéro de commande.Calcul du total du sous-total et du montant

Je veux fondamentalement retourner le coût total pour cette commande. Je l'ai essayé ce qui suit, mais je suis nulle part:

SELECT order_number, SUM(sub_total) AS `total` 
FROM 
    SELECT order_number, SUM(SUM(amount) * SUM(cost_per_item)) AS `sub_total` 
    FROM `ecom_orders` 
    WHERE member_id = '4' 
GROUP BY order_number 
ORDER BY purchase_date DESC 
+0

Pour quelle base de données? Si vous obtenez des erreurs, il est utile de nous faire savoir ce que ceux-ci pourraient être;) –

Répondre

1

Quasiment toutes les SGBDR SQL-92 compatible prendront ceci:

SELECT 
order_number 
,SUM(amount * cost_per_item) AS total 
,purchase_date 
FROM 
ecom_orders 
WHERE member_id = '4' 
GROUP BY order_number,purchase_date 
ORDER BY purchase_date DESC 
+0

s'il y aura une date d'achat différente pour chaque article et le même numéro de commande alors je pense que votre requête donnera un mauvais total. –

+0

Absolument sur l'argent! parfait. –

+0

Ensuite, laissez le purchase_date hors de la 'SELECT', 'GROUP BY' et' ORDER BY' – Wil

Questions connexes