IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Fusionner deux requêtes [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 73
    Points : 54
    Points
    54
    Par défaut Fusionner deux requêtes
    Bonjour.

    Je possède deux tables teams et matchs
    teams contient les champs team_id et team_name
    matchs contient match_id, team1 et team2
    team1 et team2 contiennent la valeur de team_id
    Comment faire pour récupérer en une seule requête l'id et le nom de l'équipe 1 et 2 de chaque match.

    Pour l'instant je procède comme suis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    	$sql = "SELECT t.team_id, t.team_id, t.team_name
    FROM matchs AS m, teams AS t
    WHERE t.team_id = m.team1";
    	$result = mysql_query($sql, $base_id);
    	if (mysql_num_rows($result) != 0)
    	{
    		while ($row = mysql_fetch_array($result))
    		{
    			$team1_playing[] = array($row['team_id'], $row['team_name']);
    		}
    		mysql_free_result($result);
    		$sql = "SELECT m.match_id, t.team_id, t.team_name
    FROM matchs AS m, teams AS t
    WHERE t.team_id = m.team2";
    		$result = mysql_query($sql, $base_id);
    		$i = 0;
    		while ($row = mysql_fetch_array($result))
    		{
    			$team2_playing[] = array($row['team_id'], $row['team_name']);
    			$template->assign_block_vars('row', array(
    					'ID' => $row[$cat1 . '_id'],
    					'NAME' => rawurldecode($team1_playing[$i][1]) . ' - ' . rawurldecode($team2_playing[$i][1]),
    					));
    			$i++;
    		}
    		mysql_free_result($result);
    		$teams_playing = array_merge($team1_playing, $team2_playing);
    A noter que je crée le tableau $teams_playing car j'en ai besoin pour autre chose par la suite.

    Merci pour votre aide.

  2. #2
    Membre régulier Avatar de pioule
    Profil pro
    Inscrit en
    Août 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 66
    Points : 97
    Points
    97
    Par défaut
    En faisant une équijointure (dans mes souvenirs ça s'appelle comme ça, mes cours de SQL sont loins ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT t1.team_name AS nomt1,t2.team_name AS nomt2
    FROM matchs, teams AS t1,teams AS t2
    WHERE match_id=<ton id> AND team1=t1.team_id AND team2=t2.team_id

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    +1 avec pioule au apssage ce genre de demande est a poster dans le forum sgbd....
    Stay in Bed .. Save Energy

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 73
    Points : 54
    Points
    54
    Par défaut
    Merci pioule, cela fonctionne.

    Désolé pour le mauvais endroit du post.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MsSql-2005] Fusionner le résultat de deux requêtes
    Par narutobaka dans le forum Développement
    Réponses: 3
    Dernier message: 25/03/2009, 16h46
  2. Possible de « fusionner » deux requêtes?
    Par grafik.muzik dans le forum Débuter
    Réponses: 11
    Dernier message: 07/01/2009, 04h08
  3. Fusionner les champs de deux requêtes
    Par wulfram dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/05/2008, 09h20
  4. Requête pour fusionner deux colonnes
    Par david71 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/12/2007, 20h44
  5. [windev11] Fusionner deux requêtes?
    Par judor31 dans le forum WinDev
    Réponses: 4
    Dernier message: 15/11/2007, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo