Requete SQL
apqmwnqmap
Messages postés
24
Statut
Membre
-
apqmwnqmap Messages postés 24 Statut Membre -
apqmwnqmap Messages postés 24 Statut Membre -
Bonjour,
J'aurais besoin d'une aide en SQL :
Chaque fois que quelqu'un a vendu un article, on enregistre le nom du vendeur, la date de la vente, l'article et sa couleur
Alors j'ai une table avec comme info
nom
date
article
couleur
Maintenant, je veux afficher une ligne, si et seulement si, le vendeur a effectué plus d'une vente dans une journée donnéé.
Est-ce clair?
J'aurais besoin d'une aide en SQL :
Chaque fois que quelqu'un a vendu un article, on enregistre le nom du vendeur, la date de la vente, l'article et sa couleur
Alors j'ai une table avec comme info
nom
date
article
couleur
Maintenant, je veux afficher une ligne, si et seulement si, le vendeur a effectué plus d'une vente dans une journée donnéé.
Est-ce clair?
A voir également:
- Requete SQL
- Logiciel sql - Télécharger - Bases de données
- Sql (+) - Forum Programmation
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
- Cherche des haricot vendez les moi ✓ - Forum DS
- Sql lister les tables ✓ - Forum Programmation
7 réponses
1iere étape : On calcul le nombre de vente du vendeur "BOB"
Requete 1 :
Select count(*)
From NOM_DE_LA_TABLE
Where NomduVendeur = "BOB" 'par exemple
and Date=DateDuJour
2ième étape : On sélectionne les lignes ou le vendeur a fait + d'une vente dans la journée
Requete 2 :
Select *
From NOM_DE_LA_TABLE
Where date=DateDuJour
and Requete1 >1
PS : je ne sais plus la formule exacte pour la date du jour mais ca ne doit pas etre difficile a trouver...
Tu peux unir les 2 requetes :
Select *
From NOM_DE_LA_TABLE
Where date=DateDuJour
and (
Select count(*)
From NOM_DE_LA_TABLE
Where NomduVendeur = "BOB"
and Date=DateDuJour)>1
Requete 1 :
Select count(*)
From NOM_DE_LA_TABLE
Where NomduVendeur = "BOB" 'par exemple
and Date=DateDuJour
2ième étape : On sélectionne les lignes ou le vendeur a fait + d'une vente dans la journée
Requete 2 :
Select *
From NOM_DE_LA_TABLE
Where date=DateDuJour
and Requete1 >1
PS : je ne sais plus la formule exacte pour la date du jour mais ca ne doit pas etre difficile a trouver...
Tu peux unir les 2 requetes :
Select *
From NOM_DE_LA_TABLE
Where date=DateDuJour
and (
Select count(*)
From NOM_DE_LA_TABLE
Where NomduVendeur = "BOB"
and Date=DateDuJour)>1
Pardon, je viens de me rendre compte que je me suis mal exprimé...
En fait, je ne veux pas ça en fonction d'une date précise, mais je veux qu'on affiche une ligne (donc un vendeur, une date, un article et une couleur), si et seulement si il y a au moins une deuxième vente par le meme vendeur la meme date, d'un article différent.
C'est un peu plus compliqué, mais ce que tu m'as écris me donne des idées. je vais réfléchir, mais que personne n'hésite à donner son point de vue!
merci
En fait, je ne veux pas ça en fonction d'une date précise, mais je veux qu'on affiche une ligne (donc un vendeur, une date, un article et une couleur), si et seulement si il y a au moins une deuxième vente par le meme vendeur la meme date, d'un article différent.
C'est un peu plus compliqué, mais ce que tu m'as écris me donne des idées. je vais réfléchir, mais que personne n'hésite à donner son point de vue!
merci
En fait, ce dont j'ai besoin, c'est de "nommer" le nom et la date. De faire quelque chose comme ça
Select Nom,Date,Article,Couleur
From NOM_DE_LA_TABLE
Where Nom = X AND Date=Y
and (
Select DISTINCT count(Nom,Date,Article)
From NOM_DE_LA_TABLE
Where Nom = X
and Date=Y)>1
Enfin, je suis nouveau en SQL alors je ne sais pas si ça a un sens... en tout cas, il faut que le COUNT compte le nombre d'article différent vendu par X le jour Y (un article avec différrente couleur ne compte pas)
Select Nom,Date,Article,Couleur
From NOM_DE_LA_TABLE
Where Nom = X AND Date=Y
and (
Select DISTINCT count(Nom,Date,Article)
From NOM_DE_LA_TABLE
Where Nom = X
and Date=Y)>1
Enfin, je suis nouveau en SQL alors je ne sais pas si ça a un sens... en tout cas, il faut que le COUNT compte le nombre d'article différent vendu par X le jour Y (un article avec différrente couleur ne compte pas)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je suis perdue dans tes explications...
dans ta 2ieme requete, tu n'as pas besoin de mettre "Nom et Date" dans ton
Select DISTINCT count(Nom,Date,Article)
puisque Nom et Date sont dans ta condition "Where" !
donc pour compter le nombre d'articles différents vendu par X le jour Y:
Select distinct count(article)
From TABLE
Where Nom = X
and Date = Y
mais sinon je ne voit pas exactement ce que tu cherches...
dans ta 2ieme requete, tu n'as pas besoin de mettre "Nom et Date" dans ton
Select DISTINCT count(Nom,Date,Article)
puisque Nom et Date sont dans ta condition "Where" !
donc pour compter le nombre d'articles différents vendu par X le jour Y:
Select distinct count(article)
From TABLE
Where Nom = X
and Date = Y
mais sinon je ne voit pas exactement ce que tu cherches...
Je fais remonter ce message car je n'ai toujours pas trouvé la solution. Une fois que j'aurais un code qui fait ce que je veux, je pourrais le comprendre mais je n'ai pas réussi à trouver le code par moi meme...
Je reformule :
J'ai une table avec comme info
nom (nom du vendeur)
date (date de vente)
article (article vendu)
couleur (couleur de l'article)
Maintenant, je veux afficher une vente si et seulement si le vendeur a vendu l'article dans deux couleurs différentes le meme jour. Par exemple si j'ai toutes ces ventes :
pierre 20060101 stylo rouge
pierre 20060101 stylo rouge
pierre 20071209 crayon jaune
pierre 20071209 crayon bleu
paul 20071224 stylo vert
je ne veux garder que
pierre 20071209 crayon jaune
pierre 20071209 crayon bleu
Je reformule :
J'ai une table avec comme info
nom (nom du vendeur)
date (date de vente)
article (article vendu)
couleur (couleur de l'article)
Maintenant, je veux afficher une vente si et seulement si le vendeur a vendu l'article dans deux couleurs différentes le meme jour. Par exemple si j'ai toutes ces ventes :
pierre 20060101 stylo rouge
pierre 20060101 stylo rouge
pierre 20071209 crayon jaune
pierre 20071209 crayon bleu
paul 20071224 stylo vert
je ne veux garder que
pierre 20071209 crayon jaune
pierre 20071209 crayon bleu