Requete SQL

Fermé
apqmwnqmap Messages postés 24 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 22 février 2009 - 15 févr. 2007 à 15:12
apqmwnqmap Messages postés 24 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 22 février 2009 - 21 mars 2007 à 15:50
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?

7 réponses

Miminerennaise Messages postés 14 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 20 février 2007 4
15 févr. 2007 à 15:47
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
1
apqmwnqmap Messages postés 24 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 22 février 2009
15 févr. 2007 à 18:56
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
0
apqmwnqmap Messages postés 24 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 22 février 2009
15 févr. 2007 à 19:21
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)
0
apqmwnqmap Messages postés 24 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 22 février 2009
16 févr. 2007 à 10:02
qulequ'un a une idée?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Miminerennaise Messages postés 14 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 20 février 2007 4
16 févr. 2007 à 11:38
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...
0
apqmwnqmap Messages postés 24 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 22 février 2009
16 févr. 2007 à 13:31
Ce que je veux, c'est en fait la solution que tu as donnée, mais quelque soit la date et le nom
0
apqmwnqmap Messages postés 24 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 22 février 2009
21 mars 2007 à 15:50
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
0