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

Langage SQL Discussion :

Problème de requête SQL


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Par défaut Problème de requête SQL
    Bonjour,

    J'ai un soucis pour trouver une requête sql (MySQL):
    Pour faire simple, supposons que j'ai une table joueurs (clé principal JOU), une table équipes (clé principal EQU)
    Nos joueurs sont susceptibles de changer d'équipes régulièrement, donc pour pouvoir suivre cela j'ai une table EQUJOU donc la structure est:
    CLE (auto incrément), JOUR (date), JOU (clé joueur), EQU (clé équipe).

    Si je veux savoir dans quel équipe était un joueur X à la date D, je peux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT EQU FROM EQUJOU WHERE JOU='X' AND JOUR<='D' ORDER BY JOUR DESC LIMIT 1
    Maintenant, je voudrais pour une équipe E connaitre l'ensemble de ses joueurs à la date D .
    Et là, je patauge:
    Si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT MAX(JOUR) FROM EQUJOU WHERE EQU='E' AND JOU<='D' GROUP BY ADRE
    j'obtiens toute les dates des derniers "transfert' de joueur, mais pas la clé des joueurs.

    Si quelqu'un peut m'aider...
    Merci d'avance.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour

    Quelque chose comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT A.JOU
    FROM EQUJOU A
    LEFT OUTER JOIN EQUJOU B
        ON     B.JOU = A.JOU
        AND   B.JOU > A.JOU
        AND   B.JOU <='D'
    WHERE A.EQU='E' 
    AND     A.JOU<='D'
    AND     B.CLE IS NULL

  3. #3
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour,

    Un joueur entre dans une équipe et il en sort. Ta structure de table est incomplète. Je rajouterais la date de sortie. Un joueur n'a-t-il pas le droit de mourir?

    Après cela, il suffit de faire un date_D BETWEEN date_d_entree AND date_de_sortie.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Par défaut
    D'abord merci pour vos réponses.

    J'ai effectivement un champ supplémentaire dans la table qui reçoit "+" ou "-" selon qu'il entre ou sort.
    Je ne l'avais pas mentionné pour rester simple pour rapport à mon problème.

    La solution d'aieu fonctionne.
    Mais l'idée d'avoir plutôt qu'un champ +/- une date d'entrée et de sortie pourrait être intéressante aussi.
    Je creuse donc.

    Merci à vous.

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

Discussions similaires

  1. Problème de requête SQL avec instruction TRANSFORM
    Par Nosper dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 21/06/2005, 16h15
  2. problème de requète SQL pour formulaire
    Par en_stage dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 21/06/2005, 12h21
  3. [SQL] Problème de requête SQL de plus de 8060 caractères ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 06/04/2005, 15h07
  4. [SQLserver2000][SQLServer CE] problème de requête SQL
    Par JBernn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/01/2005, 09h29
  5. Problème de requète SQL dans un Requery
    Par Keraccess dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 22/10/2004, 14h58

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