sélectionner 2 fois le meme champs. [Mysql] - SQL/NoSQL - Programmation
Marsh Posté le 02-01-2003 à 00:04:02
detaille un peu la forme de ta bdd en + c pas simple la .. (ta requete complexe)
Marsh Posté le 02-01-2003 à 02:00:38
lis ca:
http://forum.hardware.fr/forum2.ph [...] h=&subcat=
Marsh Posté le 02-01-2003 à 10:27:17
Citation : detaille un peu la forme de ta bdd en + c pas simple la .. (ta requete complexe) |
Table forum_categorie:
- id_categorie
- categorie
- description
- ordre
Table forum_sujet:
- id_sujet
- id_categorie
- titre
Table forum_message:
- id_message
- id_sujet
- logon (identifiant utilisateur)
- date
- texte
Citation : |
En effet, je l'avais vu, ce topic, (mis à part le fait k'ils se chamaillent pour une question de vocabulaire), c'est en effet une possibilité de rajouter l'identifiant du dernier utilisateur qui a posté dans le sujet dans la table forum_sujet, mais je voulais savoir si ct pas possible de le faire sans ca...
Marsh Posté le 04-01-2003 à 14:40:38
Moi ossi ca m'intéresse
mais il semble que peu de gens trouvent une réponse...
Marsh Posté le 04-01-2003 à 16:57:16
C'est une question qui revient souvent, mais j'ai toujours pas vu de réponse
Marsh Posté le 05-01-2003 à 19:09:51
en fait, cela reviendrait a sélectionner 2 fois le meme champs, mais avec, à chaque fois, un critère de recherche différent...
Quelqu'un peut il confirmer que c'est impossible à faire en mysql avec une seule requete?
Marsh Posté le 05-01-2003 à 19:13:23
2 fois la même colonne ?
Ca, c'est peut être possible. Tu aurais un exemple de résultat voulu, qu'on y voit plus clair.
Marsh Posté le 05-01-2003 à 19:49:25
en fait fodrait récupérer l'auteur où l'id du post est le plus grand, ce qui implique donc une clause where, non ?
Marsh Posté le 06-01-2003 à 14:40:13
Mon exemple:
je voudrais sélectionner l'id du posteur du sujet, ainsi que l'id du posteur de la derniere reponse au sujet.
(cf description de mes tables plus haut... les id des utilisateurs s'appellent "logon" )
Marsh Posté le 07-01-2003 à 19:06:29
aplc a écrit : dans le forum que je suis ne train de mettre en place, je voudrais en une seule requete pouvoir afficher à la fois l'auteur du sujet, ainsi que l'auteur de la dernière réponse. |
Voui, c'est très faisable. Vire ta deuxième requête au profil d'un INNER JOIN. Ensuite, si tu utilises mysql_fetch_array, utilises 2 alias différents pour le champ logon afin de les différencier. Si tu utilises mysql_fetch_row, pas besoin en revanche.
Marsh Posté le 08-01-2003 à 13:05:09
OK, je vais me renseigner sur le INNER JOIN.
merci pour ta réponse.
Marsh Posté le 01-01-2003 à 20:10:33
dans le forum que je suis ne train de mettre en place, je voudrais en une seule requete pouvoir afficher à la fois l'auteur du sujet, ainsi que l'auteur de la dernière réponse.
voici mes requetes actuelles:
$sql="SELECT forum_sujet.titre, forum_message.logon, MAX(forum_message.id_message) AS id_dernier_message, forum_message.id_sujet, (count(forum_message.id_message)-1) as nb_messages, MAX(forum_message.date) as max_date
FROM forum_message
LEFT JOIN forum_sujet ON forum_message.id_sujet=forum_sujet.id_sujet
WHERE id_categorie='$id_categorie'
GROUP BY forum_message.id_sujet
ORDER BY id_dernier_message DESC";
$requete=mysql_query($sql);
while ($ligne=mysql_fetch_array($requete)){
$requete3=mysql_query("SELECT logon FROM forum_message WHERE id_sujet='$ligne[id_sujet]' ORDER BY id_message DESC LIMIT 1" );
$ligne3=mysql_fetch_array($requete3);
est il possible de réaliser la même chose en une seule requete?
logon = identifiant utilisateur