Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
946 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  requete SQL imbriquée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

requete SQL imbriquée

n°1716004
NewbeInIT
Posté le 11-04-2008 à 01:20:16  profilanswer
 

bonjour,
je suis en train de passer beaucoup de temps sur une requete:
voici les 2 tables:
 
PRODUIT
-id
-nom
 
PRIX
-id
-idproduit
-prix
-date_insertion
 
 
comme vous le voyez les 2 tables sont reliées par id et idproduit.
j'ajoute des prix avec la date dans la table PRIX.
 
je voudrais recuperer tous mes produits avec le prix le plus récent pour chacun.
 
j'ai tenté des choses de ce genre mais sans succes

Code :
  1. SELECT id, idproduct, calendar
  2. FROM historize
  3. where idproduct in (
  4.     select idproduct
  5.     from historize
  6.     group by idproduct
  7.     )
  8. group by idproduct
  9. ORDER BY id DESC


 
j'ai pensé à la fonction MAX( ) mais elle me renvoie toujours le plus grand resultat. Donc ce qui me viens à l'esprit est de classer les les dates par ordre et de faire un "LIMIT 0,1"

mood
Publicité
Posté le 11-04-2008 à 01:20:16  profilanswer
 

n°1716006
MagicBuzz
Posté le 11-04-2008 à 01:28:28  profilanswer
 

Code :
  1. SELECT prd.id, prd.nom, prx.date_insertion, prx.prix
  2. FROM produit prd
  3. INNER JOIN prix prx ON prx.produit_id = prd.id
  4. WHERE prx.date_insertion = (
  5.  SELECT max(pr2.date_insertion)
  6.  FROM prix pr2
  7.  WHERE pr2.produit_id = prx.id
  8. )


 
Accessoirement, vire ce ID de la table PRIX, et crée une clé composite sur PRIX (PRODUIT_ID, DATE_INSERTION)

n°1716014
NewbeInIT
Posté le 11-04-2008 à 03:03:48  profilanswer
 

fantastique, merci beaucoup!
 
EDIT:
 
Cette requête me permet de récupèrer la liste des produits avec les prix et leur code. Mais tous les produits sont mélangés quelque soit le fournisseur du produit (champ fournisseur dans la table produit).
Je souhaite afficher la liste des produits avec les prix pour chaque fournisseur, avec la possibilité de trier les prix dans l'ordre croissant ou décroissant pour l'un ou l'autre des fournisseurs
Pour être un peu plus explicite:
 
nom produit   | fournisseur1 | fournisseur2 | fournisseur3
prod1           |       12                 54                65
prod2           |       23                 43                 4
 
encore merci!


Message édité par NewbeInIT le 11-04-2008 à 08:33:53
n°1716045
MagicBuzz
Posté le 11-04-2008 à 09:18:05  profilanswer
 

ben rajoute une jointure avec ta table des fournisseurs :spamafote:
 
va faire un tour sur le premier lien de ma signature pour une explication plus en détail de quelques notions de SQL qui devraient t'aider.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  requete SQL imbriquée

 

Sujets relatifs
SQL récupération d'une partie de string (un explode en sql?)sql access probleme de requete
requete avec timestamp[RESOLU] Sauvegarde automatique SQL chez Free
SQL en CInstall de SQL 2005 + changer le nom de machine = plus rien ne marche
[SQL]Erreur requête imbriquéeErreur SQL 1064 : Requête imbriquée avec jointure !!!
[SQL Server] Requete imbriquée et retour des X premiers enregistrementSQL : mieux vaut une jointure ou une requete imbriquée ???
Plus de sujets relatifs à : requete SQL imbriquée


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR