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 :

unir 2 requettes [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 30
    Par défaut unir 2 requettes
    Bonjour,

    J'ai deux requettes: l'une me donne se resultat la:

    Requette 1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT `joueurs_id`,`num_appariement` 
    FROM `inscription` 
    where `num_appariement` <=2
    joueur_id____num_appariement
    1__________1
    8__________2

    et l'autre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT `joueurs_id`,`num_appariement` 
    FROM `inscription` 
    where `num_appariement` >2
    joueur_id____num_appariement
    7__________3
    10_________4


    Je souhaite unir ces 2 requettes sous la forme:

    joueur_id____num_appariement____joueur_id____num_appariement
    1__________1__________________7__________3
    8__________2__________________10_________4


    Je vous en supplie HELP

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Citation Envoyé par jpkerloch Voir le message
    Je souhaite unir ces 2 requettes sous la forme:

    joueur_id____num_appariement____joueur_id____num_appariement
    1__________1__________________7__________3
    8__________2__________________10_________4

    C'est à dire ? Par tableau html ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 30
    Par défaut
    en fait avoir ca avec une requete SQL

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    tes 2 requetes selectionnent l'ensemble de tes num_appariement donc pourquoi vouloir faire 2 requetes ?

    Fais en une seule en supprimant le where non ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 30
    Par défaut
    je veux bien mais il faut que je trouve un solution pour obtenir ce resultat sous cette forme la avec une rq sql

  6. #6
    Membre confirmé Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Par défaut
    pourquoi tu compte faire quoi des données après ?

    peut-être ça ... j'ai pas pus essayer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    select 
       i1.joueur_id, 
       i1.num_appariement,
       i2.joueur_id, 
       i2.num_appariement
    from inscription as i1
    inner join inscription as i2
    where i1.num_appariement <= 2
    AND i2.num_appariement > 2

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 30
    Par défaut
    ca ne fonctionne pas .. attention la requete que je veux ce fait dans la meme table..

  8. #8
    Membre confirmé Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Par défaut
    c'est pour ça que j'ai mis des alias.

    sinon à quoi va te servir ton résultat il y a peut être un autre moyen de le faire.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 30
    Par défaut
    tu es trop fort............... MERCI M'sieu,

    Sinon par tout hasard comment puis je faire pour qu'une liste déroulante m'affiche le nombre compris entre 1 et "n"

    sachant que ce "n" a été renseigné dans une BDD

    En gros si je rentre 5 dans la BDD, je voudrais que la liste déroulante m'affiche 1,2,3,4,5

    Merci

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 30
    Par défaut
    SELECT CONCAT_WS( ' ', joueurs_nom, `joueurs_prenom` ) AS i1, i1.num_appariement, CONCAT_WS( ' ', joueurs_nom, `joueurs_prenom` ) AS i2, i2.num_appariement
    FROM inscription AS i1, joueurs AS i2
    INNER JOIN inscription AS i2
    WHERE i1.num_appariement <=2
    AND i2.num_appariement >2


    Tu pourrais m'expliquer pk cette requette ne fonctionne pas?

  11. #11
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Je partage le même sentiment que ceux des autres, soit que les exemples que tu donne n'auraient aucun intérêts.

    Les résultats de la requête ne fera que ressortir des lignes (et des joueurs) purement aléatoires.

    Un exemple que je qualifierais de typique (dans ton domaine) où il y aurait un intérêt, serait de rechercher les 2 joueurs ayant effectué un match/rencontre entre eux (comme le tennis).
    Le match ici est l'élément qui permettra de faire la liaison entre les 2 joueurs (la jointure). (pure exemple)

    Dans les exemples que tu donne, il y a rien qui lient 2 joueurs, c'est normal ou pas ?

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 30
    Par défaut
    oui parce que ce sont des regles de gestion suisse... ce sont de regle de jeux bien particuliere...

  13. #13
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    oui parce que ce sont des regles de gestion suisse... ce sont de regle de jeux bien particuliere...
    En quoi des résultats aléatoire seraient la base d'une règle ?
    C'est un jeux de carte suisse ? j'déconne

    Peux tu citer le sport, ou le jeux ?


    Blague à part ... à mon avis il y aurait pas besoin de CONCAT.
    Mais pas sûr

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 30
    Par défaut
    Je viens de me rendre compte que la requete ne me donne pas le bon resultat....

    select
    i1.joueurs_id,
    i1.num_appariement,
    i2.joueurs_id,
    i2.num_appariement
    from inscription as i1
    inner join inscription as i2
    where i1.num_appariement <= 2
    AND i2.num_appariement > 2

    joueurs_id num_appariement joueurs_id num_appariement
    1_________1______________7_________3
    8_________2______________7_________3
    1_________1______________10________4
    8_________2______________10________4


    or j'aurais du avoir

    joueurs_id num_appariement joueurs_id num_appariement
    1_________1______________7_________3
    8_________2_____________10_________4

  15. #15
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    logique cela doit te donner un produit cartésien je pense car tu effectue une "pseudo-jointure" tu fais un INNER JOIN sans le ON

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT * FROM table1
    INNER JOIN table2
    ON table1.champ = table2.champ
    WHERE...

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 30
    Par défaut
    un peu plus de detail s'il te plait... je ne comprend pas trop ... je suis un maxi noob...

    Voila ce que j'ai fait mais rien y fait.

    SELECT
    i1.joueurs_id,
    i1.num_appariement,
    i2.joueurs_id,
    i2.num_appariement
    FROM inscription AS i1 INNER JOIN inscription AS i2
    ON i1.joueurs_id =i2.joueurs_id
    WHERE i1.num_appariement <=2 AND i2.num_appariement >2

  17. #17
    Membre expérimenté
    Homme Profil pro
    Consultant PLM
    Inscrit en
    Août 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Consultant PLM

    Informations forums :
    Inscription : Août 2007
    Messages : 203
    Par défaut
    Citation Envoyé par jpkerloch Voir le message
    [...]
    or j'aurais du avoir

    joueurs_id num_appariement joueurs_id num_appariement
    1_________1______________7_________3
    8_________2_____________10_________4
    Le résultat que tu souhaites avoir est informatiquement hasardeux.
    En effet, comment rapproches-tu le joueur 1 du joueur 7 et le joueur 8 du joueur 10 ? Pourquoi ne pourrait-on pas avoir l'inverse ? Pourquoi pas le tout ?
    Qu'est-ce qui décide de ta ligne d'affichage ?

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 30
    Par défaut
    c'est la regle du jeux.. en fait si ya 36 joueurs, on prend la liste des joueurs par ordre de num d'appartiement,on la coupe en 2 et on fait jouer les tete des liste et ainsi de suite...(regle du jeux suisse grrrr)

  19. #19
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Citation Envoyé par jpkerloch Voir le message
    un peu plus de detail s'il te plait... je ne comprend pas trop ... je suis un maxi noob...

    Voila ce que j'ai fait mais rien y fait.

    SELECT
    i1.joueurs_id,
    i1.num_appariement,
    i2.joueurs_id,
    i2.num_appariement
    FROM inscription AS i1 INNER JOIN inscription AS i2
    ON i1.joueurs_id =i2.joueurs_id
    WHERE i1.num_appariement <=2 AND i2.num_appariement >2
    Cette requete ne doit logiquement rien ramener : aucune ligne ne peut avoir num_appariement <= 2 ET > 2

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 30
    Par défaut
    en fait si je fais comme dans mon 1er post.. tu vois ce que je veux dire.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. requette where date="moins de 2 jours"
    Par nmerydem dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/05/2004, 16h58
  2. rave et requette sql
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/04/2004, 16h34
  3. union de requette
    Par hunter dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/03/2004, 10h33
  4. requette sql compliqué sous delphi
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/03/2004, 16h33
  5. Requette de joiture sql avec au moin 3 tables
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/03/2004, 08h10

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