Requete sql

Bonjour,
Un problème pour lequel vous pourriez peu être m'aider.
3 tables:
Client: Code_client, Nom, Prénom, Adresse
Produit: Code_produit, type_produit, intitule, prix
Vente: Code_produit, Code_client, Date, quantité

Requête SQL
1-Quel sont l'intitule et le type du produit le plus vendu ?
2-Quel est le meilleur client ?

merci d'avance :). Bonne journée

9 réponses

  • Votes
  • Date
  • Date décroissante
  1. slt,
    Créer une instruction pour extraire les produits dont le nom commence par T mais qui ne contiennent pas de r
    voila le requete qui j'ai fait, mais il ne marche plus

    select ProductName
    from Products
    where (ProductName LIKE't%[^ r]%')

    merci de votre aide.
    1. bonjour,

      "comme je vois que tu t'ennuie", effectivement y a un peu de ça !

      Pour les erreurs de syntaxe ça doit être à cause des quotes ( ' ) qui entourent le mot client. Je crois qu'access ne veut pas de quotes autour des noms des tables.

      pour la 3eme, en fait je pars, ce sera pas avant samedi !
      1. Toma_f_1, comme je vois que tu t'ennuie... je pense a toi. J'en ai une 3eme si tu/vous avez la "chance" d'avoir le temps de ragarder ;)
        3-Quel est le meilleur client pour chaque type de produits ?

        merci :)
        1. Merci beaucoup a vous,
          Mais quand je rentre ca sous access, ca me mes toujours syntaxe error, et je trouve pas ou l'erreur une idée?
          Et pour la 1er (Quel sont l'intitule et le type du produit le plus vendu ?) ca marche pas du tout...
          Merci de vos aide :)
          1. hé hé plus rapide que giheller ^^

            SELECT c.* FROM `client` c, vente v, produit p
            WHERE v.CodeC=c.CodeC AND v.CodeP=p.CodeP
            group by c.codeC
            order by sum(p.prix * v.qte) desc
            limit 1

            salut, essaye ça pour la seconde.
            en théorie il faudrait faire une sous requête avec l'opérateur having, mais c'est compliqué pour pas grand chose.

            mon astuce c'est de trier tous les clients par leur somme d'achats (order by sum(p.prix * v.qte)) et je garde que le 1er ! (limit 1)

            dans le select, tu peux aussi rajouter : , sum(p.prix * v.qte)
            si tu veux voir combien ca fait.
            1. toma bien joué pour la rapidité.
              c'est à cause de _f_1 ???
          2. alors c'est plus complexe puisqu'il faut aller chercher le nombe de produit par client puis aller chercher le prix des produits.
            je verrai ça demain.
            1. Merci bcp pour le permiere :),
              Pas de presision a ce sujet... Mais je dirais celui qui depence le plus.
              1. bonsoir,

                pour la première requ^te je ferai
                select intitule, max(quantite) from produit,vente where vente.code_produit=produit.code_produit

                pour la seconde
                le meilleur ckient c'est celui qui achète le plus de produits ou celui qui depense le plus ?