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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] créatiçon d'une vue avec un min

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] créatiçon d'une vue avec un min

n°1617287
goldorak69
Posté le 01-10-2007 à 11:10:28  profilanswer
 

Bonjour, j'ai un problème avec une VUE.
 
J'ai deux tables:
* grid (id,difficulty)
* record (id_grid,id_user,time,date)
 
j'aimerai créer une vue listant toutes les grilles "grid" avec les infos de "record" du joueur dont 'time' est le minimum pour chaque grille, donc chaque grille avec le record et le recordman.
 

Code :
  1. CREATE VIEW grid_record AS
  2. SELECT g.id, g.difficulty, r.id_user, r.time, r.date,
  3. MIN(r.time) AS record_time
  4. FROM grid AS g
  5. LEFT JOIN record AS r ON r.id_grid=g.id AND r.time=record_time
  6. GROUP BY g.id


 
Malheureusement, la condition " AND r.time=record_time" ne fonctionne pas, comment je peux faire?
 
Merci!


---------------
jouez gratuitement au hanjie, picross
mood
Publicité
Posté le 01-10-2007 à 11:10:28  profilanswer
 

n°1617291
jpcheck
Pioupiou
Posté le 01-10-2007 à 11:19:26  profilanswer
 

bjr,
en remplacant record_time par min(r.time) non ?

n°1617297
goldorak69
Posté le 01-10-2007 à 11:36:22  profilanswer
 

ca ne marche pas non plus:
 
#1111 - Invalid use of group function


---------------
jouez gratuitement au hanjie, picross
n°1617302
MagicBuzz
Posté le 01-10-2007 à 11:57:41  profilanswer
 

group by g.id, g.difficulty, r.id_user, r.time, r.date

n°1617318
goldorak69
Posté le 01-10-2007 à 12:45:16  profilanswer
 

même résultat :/


---------------
jouez gratuitement au hanjie, picross
n°1617339
goldorak69
Posté le 01-10-2007 à 13:43:26  profilanswer
 

J'ai trouvé, je mets la réponse pour ceux qui en auront besoin
 

Code :
  1. CREATE VIEW vw_grid_record AS
  2. SELECT g.id, g.difficulty, r.id_user, r.time, r.date
  3. FROM grids AS g
  4. LEFT JOIN grid_records AS r ON r.id_grid=g.id AND r.time=(
  5. SELECT Min(time)
  6. FROM grid_records
  7. WHERE id_grid=g.id
  8. GROUP BY id_grid
  9. )



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

  [SQL] créatiçon d'une vue avec un min

 

Sujets relatifs
clé primaire en SQLIncrémenter une base SQL avec un lien
[SQL] Optimisation de requête "regroupement X-en-1" (tri ?)Req SQL trop dure pour moi
PL/SQL : Passage en paramère[SQL] Requête UPDATE complexe
Sql Developper Erreur non detectéRequêtes SQL: fusion de lignes
[RESOLU] - Probleme requete SQL - RETURNSQL Server 2005 - INSERT multiples
Plus de sujets relatifs à : [SQL] créatiçon d'une vue avec un min


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