J'ai une table de produits, avec les champs produit, catégorie et coût, de type varchar, varchar et decimal.regrouper les résultats communs en sql
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.
Je veux montrer tous les produits vendus pendant un mois, disons le mois en cours.
Cependant, je ne veux pas montrer chaque vente individuellement. Je veux ajouter automatiquement tous les produits ensemble et les montrer comme une rangée.
Dans le tableau des ventes, le coût de chaque enregistrement de vente est déjà multiplié par la quantité. Ainsi, par exemple, si 5 bières ont été achetées, elles seraient retournées en une seule ligne indiquant le nom de bières, en quantité égale à 5, et coûteraient cependant beaucoup.
je besoin de quelque chose comme par exemple:
Select product, cost from sales, WHERE sales.product=products.name
AND category='food' AND WHERE month(date_field) = month(getdate())
Cela devrait montrer toutes les ventes pour une certaine catégorie de produit pour le mois en cours, mais est-il un moyen facile aux produits « groupe » ensemble?
je dois tenir compte de la zone de quantité dans la table de vente, parce qu'une vente n'est pas nécessairement un seul produit
Un exemple nous l'espérons plus claire, une vente disque peut-être pour 2 bières pour un client avec un coût de 10, et un autre record de ventes peut être à un client différent avec une quantité de 3 et le coût de 15. Je veux juste un disque qui dirait pour la bière, 5 ont été vendus et le coût total est 25.
J'ai Je ne sais pas où aller à partir de ce que j'ai obtenu ...
Le problème peut être plus profond que la requête pour sélectionner les ventes de produits. Il se peut que votre structure de table puisse être améliorée. S'il vous plaît pouvez-vous modifier votre question, et ajouter la sortie de 'CREATE TABLE', pour chacune de vos tables.Vous mentionnez une table 'achats', mais cela n'apparaît pas dans votre requête - comment cela se rapporte-t-il aux deux autres tables? – Mike
J'ai décrit la structure de la table au début de ma question cependant? J'ai supprimé la table des achats de ma question, car elle n'est pas pertinente. - J'essaie simplement d'éviter que la question soit inutilement longue. –
A partir des descriptions de vos tables et des exemples de requête, il semble que vous ayez lié les tables via la colonne VARCHAR 'product'. Si vous changez le nom d'un 'product' dans la table' products', la relation se rompra à moins que vous ne mettiez ensuite à jour le 'product_name' dans la table' sales'. Vous * avez * peut-être effectivement rejoint les tables en utilisant une clé primaire à la place, mais ce n'est pas clair à partir de votre question. Mon point était que avec un peu plus d'informations, vous aideriez les répondants à fournir une meilleure solution. – Mike