2012-04-12 4 views
-1

J'ai deux tables:joindre des tables à mySQL pour obtenir une colonne particulière

- cart , cols are (painting_id, session_id, ip, user_agent) 
- paintings , cols (painting_id, price) 

Maintenant, je dois sélectionner l'ID de tableau de la table panier. J'ai besoin de Joindre les deux tables et obtenir la somme du prix de toutes les peintures de tableaux 'peintures'. Notez que le chariot de table n'a pas la colonne de prix, il doit être importé de la table 'peintures'. Seule la somme du prix de ces peintures est affichée qui a été ajoutée dans la table du panier par un identifiant de session ou un identifiant d'email particulier.

Voici la requête que j'ai essayé jusqu'à présent

SELECT p.SUM(price) FROM paintings 
p JOIN cart c ON p.painting_id = c.painting_id 
WHERE c.session_id = '$session' 
+0

vous devez utiliser par groupe –

Répondre

1

Il devrait être SUM(p.price) à la place.

0

Essayez cette requête

SELECT cart.user_agent, sum(paintings.price) 
from cart inner join 
paintings on 
cart.painting_id=paintings.painting_id 
where session_id='$session' 

si vous voulez que le coût total de tous les utilisateurs

SELECT cart.user_agent, sum(paintings.price) 
from cart inner join 
paintings on 
cart.painting_id=paintings.painting_id 
group by cart.session_id