Demande d'aide SQL

cs_seb972 Messages postés 5 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 1 avril 2008 - 1 avril 2008 à 09:44
alias666 Messages postés 308 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 23 mars 2010 - 1 avril 2008 à 11:29
Bonjour, j'ai un petit soucis :








 




je débute en SQL et j'ai besoin d'aide sur le sujet suivant.








 




J'ai une Table de transaction avec plusieurs clients qui achètent plusieurs produits (X, Y, Z...)






et je voudrais en extraire tous les client qui ont achetés le produit X à plus de 50% .






C'est possible?








 




Merci d'avance pour votre aide

4 réponses

dimitriusai Messages postés 76 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 7 mai 2009 1
1 avril 2008 à 10:25
as plus de 50 % explicite

Peux tu donner la structure de ta table et la requête que tu souhaiterais.

Cordialement
0
cs_seb972 Messages postés 5 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 1 avril 2008
1 avril 2008 à 11:05
en fait la table comprend une dizaine de champs avec des descriptifs des produits le n° de client, le N) de produit, la date d'achat....

chaque achat d'un produit fait l'objet d'une ligne
donc si le client A achete le produit X et le produit Y il y a 2 lignes.
0
cs_seb972 Messages postés 5 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 1 avril 2008
1 avril 2008 à 11:27
voici ma requête qui me retourne les clients qui ont fait plus de 3 achats sur la période
et je voudrais ceux qui ont acheté au moins 50% de produits "A"
SELECT <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>






Adresse_client,




Tel_client,




Num _client,count(*)





               
FROM









 Table_transaction








                WHERE







Code_pdt_vente in(‘28’,’32’,’57’,’70’)








 
               AND type_paiement in ('10','11')








               
                AND date_achat  Between 2008020 and 1 20080229







Having count(*) > '10'







Group By 1,2,3
0
alias666 Messages postés 308 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 23 mars 2010
1 avril 2008 à 11:29
Je te suggère de créer quelques variables dans laquelle tu stockes par client le nombre de produits achetés pour chacun et qu'ensuite, tu divises le nombre total d'enregistrement d'un produit par le nombre de ligne par client pour tel produit si tu obtiens un chiffre supérieur ou égal à 2 c'est que la personne a acheté 50% ou plus de tel produit.

Exemple :

Client 1 = nombre total de ligne du produit A / nombre total de ligne de client 1 pour le produit A

2 = 200/100

Si Client1 >= 2 alors Client1 a acheté 50% ou plus du produit A

Ensuite tu peux manipuler les données comme bon te semble.
Bon courage

_______________________
<<<< :-: 4L!@$ :-: >>>>
0
Rejoignez-nous