[RESOLU] deux datas issus du mm champ

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] deux datas issus du mm champ

Re: deux datas issus du mm champ

par Cypher_PHP » 28 juil. 2012, 14:42

ca fonctionne
je ne savais pas qu'on pourrait aussi utiliser des alias dans la jointure INNER JOIN

merci beaucoup
génial

bonnes vacances

Re: deux datas issus du mm champ

par xTG » 28 juil. 2012, 14:31

Tu fais une jointure sur la même table, donc il ne sait pas laquelle choisir entre les deux, utilises des alias :
SELECT matches.id, date_debut, date_fin, sports.title AS sport,
clubs1.title AS recevant, clubs.title AS visiteur, competitions.title
AS competition
FROM matches
INNER JOIN sports ON sports.id = matches.sport_id
INNER JOIN clubs AS clubs1 ON clubs1.id = matches.recevant_id
INNER JOIN clubs AS clubs2 ON clubs2.id = matches.visiteur_id
INNER JOIN competitions ON competitions.id = matches.competition_id

deux datas issus du mm champ

par Cypher_PHP » 28 juil. 2012, 13:45

Bonjour

je n'arrive pas à récupérer un autre data de la même table
par ex, j'essaie de faire apparaître un club recevant (variable
recevant_id) opposant au club visiteur (variable visiteur_id) dans un
match
je suis sûr que la requête n'est pas bonne ...
merci beaucoup de m'aider

voici la requête sql
SELECT matches.id, date_debut, date_fin, sports.title AS sport,
clubs.title AS recevant, clubs.title AS visiteur, competitions.title
AS competition
FROM matches
INNER JOIN sports ON sports.id = matches.sport_id
INNER JOIN clubs ON clubs.id = matches.recevant_id
INNER JOIN clubs ON clubs.id = matches.visiteur_id 
INNER JOIN competitions ON competitions.id = matches.competition_id
cette requête va provoquer un message d'erreur: Not unique table/alias:'clubs'
elle contient deux champs presque identiques : clubs.title

CREATE TABLE IF NOT EXISTS `matches` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `recevant_id` int(3) NOT NULL,
  `visiteur_id` int(3) NOT NULL,
  `competition_id` int(11) NOT NULL,
  `sport_id` int(2) NOT NULL,
  `lieu_id` varchar(255) NOT NULL,
  `date_debut` datetime NOT NULL,
  `date_fin` datetime NOT NULL,
  `description` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
CREATE TABLE IF NOT EXISTS `clubs` (
  `id` int(3) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `sigle` varchar(255) NOT NULL,
  `description` varchar(255) NOT NULL,
  `date_fondation` date NOT NULL,
  `date_created` datetime NOT NULL,
  `date_modified` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
<td class="center "><?php echo $row['recevant'];?></td>
<td class=" center"><?php echo $row['visiteur'];?></td>
bon week end