Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/11/2011, 18h13   #1
 
Homme jessy elter
salarié
Inscription : mars 2011
Messages : 55
Détails du profil
Informations personnelles :
Nom : Homme jessy elter
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : salarié
Secteur : Alimentation

Informations forums :
Inscription : mars 2011
Messages : 55
Points : -1
Points : -1
Par défaut Jonction entre 2 tables

Bonjour,
J'ai un soucis pour faire la jonction entre 2 tables.
J'ai une table calmatchs pour les matchs de mon club de foot.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
  CREATE TABLE IF NOT EXISTS `calmatchs` (
  `cal_id` int(8) NOT NULL AUTO_INCREMENT,
  `compet_id` int(8) NOT NULL DEFAULT '0',
  `cal_date` date NOT NULL DEFAULT '0000-00-00',
  `equ_id` varchar(128) NOT NULL DEFAULT '',
  `cal_saison` year(4) NOT NULL DEFAULT '0000',
  `cal_locaux` varchar(128) NOT NULL DEFAULT '',
  `cal_visiteurs` varchar(128) NOT NULL DEFAULT '',
  `cal_score_locaux` varchar(128) NOT NULL,
  `cal_score_visiteurs` varchar(128) NOT NULL,
  PRIMARY KEY (`cal_id`)
)
J'ai un champ Equ_id qui est en relations avec la table Equipe.

Code :
1
2
3
4
5
6
7
8
 
CREATE TABLE IF NOT EXISTS `equipe` (
  `equ_id` int(8) NOT NULL AUTO_INCREMENT,
  `equ_name` varchar(64) NOT NULL DEFAULT '',
  `equ_season` year(4) NOT NULL DEFAULT '0000',
  `member_photo_url` text,
  PRIMARY KEY (`equ_id`)
)
J'effectue une requete SQL pour afficher les prochains matchs du week end à venir :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
FUNCTION get_week_matchs()
    {
 ConnectionDb();
         $sql = 'SELECT *
FROM calmatchs
WHERE cal_date BETWEEN CURRENT_DATE AND DATE_ADD(CURRENT_DATE, INTERVAL 7 DAY)
	AND DAYOFWEEK(cal_date) IN (1, 7) ORDER BY cal_date ';
 
        $query = mysql_query($sql) OR die("Erreur : requête sql affichage liste des joueurs");
 
        RETURN $query;     
    }
Le probleme quand j'affiche equ_id j'ai un numéro qui s'affiche, moi je voudrais qu'il affiche le nom de l'équipe correspondant au numéro equ_id.
Exemple : Seniors Equ 1 - Equ_id:110
On m'affiche "Prochain de match de 110". Je pense qu'il faudrait faire une jonction mais je ne sais pas comment faire.

Merci
jesaye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 18h54   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 643
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 643
Points : 2 639
Points : 2 639
bonjour,

le cours sur les jointures c'est par ici : http://sqlpro.developpez.com/cours/sqlaz/jointures/
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 18h58   #3
 
Homme jessy elter
salarié
Inscription : mars 2011
Messages : 55
Détails du profil
Informations personnelles :
Nom : Homme jessy elter
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : salarié
Secteur : Alimentation

Informations forums :
Inscription : mars 2011
Messages : 55
Points : -1
Points : -1
Merci pour le tuto mais je suis vraiment désolé je n'ai rien compris ou pouvant m'aider pour mon cas.
jesaye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 19h32   #4
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 446
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 446
Points : 7 545
Points : 7 545
Que n'as-tu pas compris exactement ?
Qu'as-tu essayé de faire ?
Si tu précises ce qui te manque, il sera possible de t'aider.
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 21h34   #5
 
Homme jessy elter
salarié
Inscription : mars 2011
Messages : 55
Détails du profil
Informations personnelles :
Nom : Homme jessy elter
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : salarié
Secteur : Alimentation

Informations forums :
Inscription : mars 2011
Messages : 55
Points : -1
Points : -1
Donc j'ai essayer de comprendre le fonctionnement des jonctions j'ai donc essayer ceci :
Code :
1
2
3
4
5
6
7
SELECT *
FROM calmatchs, equipe
WHERE cal_date BETWEEN CURRENT_DATE 
AND DATE_ADD(CURRENT_DATE, INTERVAL 7 DAY)
AND DAYOFWEEK(cal_date) IN (1, 7) 
AND calmatchs.equ_id=equipe.equ_id
ORDER BY cal_date
Mais je me retrouve sans aucun changement j'ai toujours mon numéro rapportant à mon équipe et non le nom de mon equipe.
jesaye est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 21h36   #6
 
Homme jessy elter
salarié
Inscription : mars 2011
Messages : 55
Détails du profil
Informations personnelles :
Nom : Homme jessy elter
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : salarié
Secteur : Alimentation

Informations forums :
Inscription : mars 2011
Messages : 55
Points : -1
Points : -1
voila j'ai trouvé mon erreur dans mon php je devais changer mon
Code :
 <?php echo $match['equ_id']; ?>
par
Code :
<?php echo $match['equ_name']; ?>
jesaye est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h00.


 
 
 
 
Partenaires

Hébergement Web