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

  FORUM HardWare.fr
  Programmation

  [MySQL] Requête impossible ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] Requête impossible ?

n°103307
shakalagoo​ns
Posté le 21-02-2002 à 18:36:53  profilanswer
 

Salut tout le monde :)
 
Voilà mon problème :
J'ai ces deux tables :
http://shakalaka.gouns.free.fr/nico/table1.jpg (table sf_flags)
http://shakalaka.gouns.free.fr/nico/table2.jpg (table sf_topics)
 
Quand j'effectue la requete suivante :  

Code :
  1. SELECT a.id,a.titre,a.auteur,a.reponses,a.vues,a.der_aut,
  2. a.der_rep,a.icon,a.closed,b.id_user,b.id_last_msg,
  3. b.date_last,b.participation,b.page FROM sf_topics a LEFT JOIN sf_flags b ON a.id=b.id_topic WHERE a.forum_id='1' ORDER BY der_rep DESC


 
Il me sort :
http://shakalaka.gouns.free.fr/nico/jointure1.jpg
 
Le résultat que j'aimerais avoir, c'est ça :
http://shakalaka.gouns.free.fr/nico/jointure2.jpg
 
J'ai essayé pas mal de trucs, mais j'y suis pas arrivé :(
 
Est-ce quelqu'un a une idée ? Et est-ce ce que je demande est possible ?
 
Merci d'avance...

 

[jfdsdjhfuetppo]--Message édité par Shakalagoons--[/jfdsdjhfuetppo]

mood
Publicité
Posté le 21-02-2002 à 18:36:53  profilanswer
 

n°103311
ddr555
Posté le 21-02-2002 à 18:45:16  profilanswer
 

essaie de rajouter une condition "and b.datelast = ( select max(datelast) from sf_flags c where b.id_topic = c.id_topic )"

n°103312
shakalagoo​ns
Posté le 21-02-2002 à 18:47:52  profilanswer
 

Je vais essayer ça, merci :)

n°103314
ddr555
Posté le 21-02-2002 à 18:49:14  profilanswer
 

met la dans le left join, sinon il va sauter le left  :D

n°103315
shakalagoo​ns
Posté le 21-02-2002 à 18:52:10  profilanswer
 

ddr555 a écrit a écrit :

met la dans le left join, sinon il va sauter le left  :D  




Tu entends quoi par là :??:

n°103316
shakalagoo​ns
Posté le 21-02-2002 à 18:56:43  profilanswer
 

SELECT a.id,a.titre,a.auteur,a.reponses,a.vues,a.der_aut,
a.der_rep,a.icon,a.closed,b.id_user,b.id_last_msg,
b.date_last,b.participation,b.page FROM sf_topics a LEFT JOIN sf_flags b ON a.id=b.id_topic AND b.datelast = ( select max(c.datelast) from sf_flags c where b.id_topic = c.id_topic ) WHERE a.forum_id='1' ORDER BY der_rep DESC
 
C'est ça que tu me conseilles de faire ?
 
En tout cas ça veut pas :/

n°103317
ddr555
Posté le 21-02-2002 à 18:56:44  profilanswer
 

SELECT a.id,a.titre,a.auteur,a.reponses,a.vues,a.der_aut,
 
a.der_rep,a.icon,a.closed,b.id_user,b.id_last_msg,
 
b.date_last,b.participation,b.page  
FROM sf_topics a  
LEFT JOIN sf_flags b ON ( a.id=b.id_topic and b.datelast = ( select max(datelast) from sf_flags c where b.id_topic = c.id_topic )
WHERE a.forum_id='1' ORDER BY der_rep DESC
 
 
enfin si ton SGBD le permet  :sarcastic:  
 
sinon tu peux définir une vue  :D

n°103322
shakalagoo​ns
Posté le 21-02-2002 à 19:00:58  profilanswer
 

requête SQL :  
 
SELECT a.id,a.titre,a.auteur,a.reponses,a.vues,a.der_aut,
a.der_rep,a.icon,a.closed,b.id_user,b.id_last_msg,
b.date_last,b.participation,b.page  FROM sf_topics a LEFT JOIN sf_flags b ON ( a.id=b.id_topic and b.datelast = ( select max(datelast) from sf_flags c where b.id_topic = c.id_topic ) WHERE a.forum_id='1' ORDER BY der_rep DESC LIMIT 0, 30
 
 
MySQL a répondu:
 
 
You have an error in your SQL syntax near 'select max(datelast) from sf_flags c where b.id_topic = c.id_topic )
WHERE a.fo' at line 1

n°103323
ddr555
Posté le 21-02-2002 à 19:02:25  profilanswer
 

jette mysql  :D

n°103324
ddr555
Posté le 21-02-2002 à 19:03:54  profilanswer
 

je crois que ça accepte pas les sous select  :sarcastic:

mood
Publicité
Posté le 21-02-2002 à 19:03:54  profilanswer
 

n°103325
shakalagoo​ns
Posté le 21-02-2002 à 19:04:16  profilanswer
 

ddr555 a écrit a écrit :

jette mysql  :D  




:fuck:
 
C'est quoi ton histoire de vue :??:

n°103326
ddr555
Posté le 21-02-2002 à 19:05:46  profilanswer
 

Shakalagoons a écrit a écrit :

 
:fuck:
 
C'est quoi ton histoire de vue :??:  



tu veux sélectionner la dernière ligne de la table sf_flags c'est ça ?

n°103329
shakalagoo​ns
Posté le 21-02-2002 à 19:08:44  profilanswer
 

ddr555 a écrit a écrit :

tu veux sélectionner la dernière ligne de la table sf_flags c'est ça ?  




Non, toutes les lignes ou id_user='1' par exemple...
En gros je voudrais que la jointure se fasse uniquement si id_user='1' dans sf_flags...

n°103331
ddr555
Posté le 21-02-2002 à 19:13:19  profilanswer
 

Shakalagoons a écrit a écrit :

 
Non, toutes les lignes ou id_user='1' par exemple...
En gros je voudrais que la jointure se fasse uniquement si id_user='1' dans sf_flags...  




SELECT a.id,a.titre,a.auteur,a.reponses,a.vues,a.der_aut,
 
a.der_rep,a.icon,a.closed,b.id_user,b.id_last_msg,
 
b.date_last,b.participation,b.page  
FROM sf_topics a  
LEFT JOIN sf_flags b ON ( a.id=b.id_topic and b.id_user='1' )
WHERE a.forum_id='1' ORDER BY der_rep DESC

n°103333
shakalagoo​ns
Posté le 21-02-2002 à 19:16:18  profilanswer
 

ddr555 a écrit a écrit :

 
SELECT a.id,a.titre,a.auteur,a.reponses,a.vues,a.der_aut,
 
 
a.der_rep,a.icon,a.closed,b.id_user,b.id_last_msg,
 
 
b.date_last,b.participation,b.page  
FROM sf_topics a  
LEFT JOIN sf_flags b ON ( a.id=b.id_topic and b.id_user='1' )
WHERE a.forum_id='1' ORDER BY der_rep DESC  




Je crois que ça marche :D
 
Je vais tester comme il faut, et si c'est bien le cas, je sais pas comment te remercier... Je me défonce le crâne depuis un moment là-dessus :)

n°103334
ddr555
Posté le 21-02-2002 à 19:17:27  profilanswer
 

Shakalagoons a écrit a écrit :

 
Je crois que ça marche :D
 
Je vais tester comme il faut, et si c'est bien le cas, je sais pas comment te remercier... Je me défonce le crâne depuis un moment là-dessus :)  



j'peux te donner des cours de sql si tu veux  :D  :D  :D

n°103336
shakalagoo​ns
Posté le 21-02-2002 à 19:21:02  profilanswer
 

ddr555 a écrit a écrit :

j'peux te donner des cours de sql si tu veux  :D  :D  :D  




Je note :D
J'ai tout appris sur le tas, alors faut bien que je progresse un peu :D

n°103342
Autruche
bla bla bla....
Posté le 21-02-2002 à 19:54:27  profilanswer
 

hey connard de shakalagoons, daidai te fait le travail et tu dis pas merci ?  :fou:

n°103348
shakalagoo​ns
Posté le 21-02-2002 à 20:14:43  profilanswer
 

autruche a écrit a écrit :

hey connard de shakalagoons, daidai te fait le travail et tu dis pas merci ?  :fou:  




 

Citation :

Je crois que ça marche    
 
Je vais tester comme il faut, et si c'est bien le cas, je sais pas comment te remercier... Je me défonce le crâne depuis un moment là-dessus

n°103349
joce
Architecte / Développeur principal
"BugHunter"
Posté le 21-02-2002 à 20:19:14  profilanswer
 

Cai kon mysql gère ni les vues ni les subselect :D


---------------
Protèges carnets personnalisés & accessoires pour bébé
n°103351
shakalagoo​ns
Posté le 21-02-2002 à 20:21:32  profilanswer
 

joce a écrit a écrit :

Cai kon mysql gère ni les vues ni les subselect :D  




Les vues je sais pas ce que c'est :D (si t'as le goût de m'expliquer brièvement...)
En fait Daidai a répondu à ma question donc ma requête marche très bien maintenant :)

mood
Publicité
Posté le   profilanswer
 


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

  [MySQL] Requête impossible ?

 

Sujets relatifs
A tout ceux qui ont fait un forum en PHP/MySQLCreation de base Mysql automatisee ?
Un problème en PHP/MySQL[SQL] requête portant sur un ensemble de mots non ordonnés :))
Alimenter une base MySQL avec l'accord de l'admin ?[MySQL] Capacités des champs TEXT?
Créer une nouvelle base MySQL ?[ Newbie en PHP/MySQL ] Faire un formulaire
[MYSQL] Impossible d'envoyer une requete a la BDD 
Plus de sujets relatifs à : [MySQL] Requête impossible ?


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