J'ai une table de produits, avec les champs produit, catégorie et coût, de type varchar, varchar et decimal.Regroupement des champs par catégorie et classement par date, et calcul à partir d'une autre table
J'ai alors une table des ventes, avec les champs client, nom de produit, quantité, coût, et saledate, de type varchar, varchar, int, décimal et date.
J'ai aussi une table des achats, avec les champs achetés, le coût, la quantité et l'achat, de types date, décimal, varchar et varchar.
Dans ma table des ventes, le champ de coût d'un enregistrement donné est automatiquement multiplié par la quantité.
Par exemple, si les coûts de la bière 10, et un record pour une vente de la quantité de bière est 2, le coût de cet enregistrement sera automatiquement 20.
Ce que je veux faire, est de retour tout le résultat les ventes et les achats sont automatiquement regroupés.
Par exemple, si j'ai les données suivantes dans la table de vente:
productname - quantity - cost- saledate
beer 2 20 2010-07-10
beer 3 50 2010-07-11
And in the purchases table:
purchasedate - cost - quantity - purchase
2010-07-09 20 2 straws
Je veux montrer la sortie suivante
Ventes totales pour le mois en cours:
productname - quantity - cost
beer 5 50
total achats pour le mois en cours
purchasedate - cost - quantity - purchase
2010-07-09 20 2 straws
je tentais quelque chose comme ce qui suit:
Select category,SUM(Sales.Quantity),SUM(Sales.Quantity*cost) cost from
sales,products WHERE sales.product=products.name
AND category='food' AND month(date_field) = month(getdate()) group by category
Cependant, cela fait tout, et je pense que d'autre part fonctionne pas d'abord il multiplie le champ des coûts dans le tableau des ventes une deuxième fois, ce qui en fait inexact.
Dois-je inclure le coût d'origine de la table des produits afin de faire ce dont j'ai besoin?
Puis-je faire ce que je veux dans une requête, peut-être en tant qu'union, en retournant les lignes et les colonnes respectives selon mon exemple?
qui semble l'être exactement! si simple ... –
Ahh, je pense qu'il doit y avoir une connexion à la table des produits. La table des produits et la table des ventes sont liées via le champ productname (loin d'être idéal, je le sais), et je ne souhaite afficher que certaines ventes pour une catégorie particulière de la table des produits. –
Je viens de modifier la requête ci-dessus. Maintenant, la table des produits est jointe. – JochenJung