8722 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai un petit problème avec une solution qui ne me plait pas Smiley smile

En fait j'ai deux tables :

1 - Une table equipe avec comme attributs equipe_id et nom
2 - une table rencontre avec comme attributs equipe_1_id , equipe_2_id et score.

Mon but, vous l'aurez vite compris est d'avoir une requête qui me renvoie l'id de mes deux équipes avec le score mais aussi le nom pour les deux équipes (et bien sur pouvoir faire la distinction entre le nom de l'équipe 1 et de l'équipe 2). J'aurais aimé faire ça en une requête, j'ai essayé pas mal de chose avec les 'join' (mais lorsque je joins deux fois la même table, Sql refuse) ou les requêtes imbriquées (mais ça devient de plus en plus burlesque ^^) et je n'arrive pas à un bon résultat.

Sinon pour le moment, je fais deux requêtes SQL et je concatène le résultat en php après mais je n'aime pas du tout cette solution ^_^.

Merci d'avance Smiley smile .
Tu peux essayer quelque chose dans ce genre :


select e1.nom, e2.nom, r.score
from rencontres r, equipes e1, equipes e2
where
e1.id = r.equipe1id
and e2.id = r.equipe2id
Modérateur
Pitou a écrit :
Hey,

merci beaucoup, c'est parfois les choses simples qui marchent le mieux Smiley smile .


La nuit dernière, j'ai hésité à écrire la réponse (strictement la même requête que QuentinC)

Mon hésitation était tout simple :
1. Tu n'as pas mis ta requête sur le forum. J'aurais pu t'aider (lire ou relire l'aide 13 du forum).
2. J'avais la flemme de créer 2 tables avec les contraintes d'intégrités, etc.. Je me suis posé la question suivante : deux clefs étrangères dans une même table, ça peut coincer peut être ? Or c'est faux finalement.
Pitou a écrit :
c'est parfois les choses simples qui marchent le mieux Smiley smile .


Bah oui. Avoir ça en tête (toujours) :
KISS
DRY

@QuentinC : Tu aurais pu mieux indenter le code quand même. Aussi tu as oublié de mettre en majuscule les mots clefs. Il y a du relâchement. Ça va plus ça. Smiley lol
Modifié par niuxe (04 Jul 2014 - 20:01)
a écrit :
@QuentinC : Tu aurais pu mieux indenter le code quand même. Aussi tu as oublié de mettre en majuscule les mots clefs. Il y a du relâchement. Ça va plus ça.


Non il n'y a pas de relâchement, c'est ma façon normale d'écrire du code.

En principe j'indente pas, sauf si on me le demande explicitement, et dans ce cas alors uniquement dans un rendu plus ou moins final que je ne vais vraisemblablement plus toucher pendant un moment. En tant qu'utilisateur de lecteur d'écran et non brailliste, l'indentation me gêne énormément pour lire ou éditer du code, et si ce n'est pas fait automatiquement par un éditeur, je suis plus ou moins incapable de la respecter.

La présentation, je considère que c'est pas mon job, y'a des eclipse et autres IDE qui sont censé le faire tout seul. Il y a aussi des petits utilitaires qui le font très bien comme par exemple astyle pour le java et le C/C++.