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 :

bloqué sur syntaxe requête


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut bloqué sur syntaxe requête
    Bonjour,

    Je cherche sans résultat comment faire pour obtenir la requête désirée.

    J'ai une table videos contenant les champs titre, iduploader, épisode et partie.

    une video peut contenir plusieurs épisodes.

    un épisode contient toujours 2 parties par uploader si tout est bon.

    le problème est que certains uploaders n'ont pas fini de faire leur travail et donc je me retrouve avec des vidéos incomplètes qui ne contiennent qu'une partie sur deux...

    j'aimerai donc faire en sorte de récupérer la liste des épisodes contenant au moins 1 uploader qui a charger ses deux parties.

    J'espère avoir été assez clair...

    Merci pour tout conseil

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Qu'as-tu commencé à faire comme requête ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    j'ai commencé par ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCT episode, iduploader
      FROM videos
     WHERE titre = monfilm
    HAVING COUNT(partie) = 2
    et là j'essaie d'utiliser deux EXIST pour partie = 1 et partie = 2.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    c'est bon, j'ai trouvé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT DISTINCT episode FROM videos V1 WHERE titre = monfilm AND EXISTS (SELECT *
                   FROM   videos V2
                   WHERE  V2.titre = monfilm
                     AND  V1.episode    = V2.episode
                     AND  V1.uploader = V2.uploader
                     AND  V2.partie = 1
    )
    AND
    EXISTS (SELECT *
                   FROM   videos V2
                   WHERE  V2.titre = monfilm
                     AND  V1.episode    = V2.episode
                     AND  V1.uploader = V2.uploader
                     AND  V2.partie = 2)
    maintenant, est ce que c'est ce qu'il y a de plus optimisé...

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    Je ne sais pas si c'est plus performant mais une autre écriture possible :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT DISTINCT titre, episode 
    FROM videos 
    WHERE partie IN (1, 2)
    GROUP BY titre, iduploader, episode
    HAVING COUNT(DISTINCT partie) = 2

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Je ne sais pas si c'est plus performant mais en tout cas, je trouve ça plus simple à lire.
    Merci

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

Discussions similaires

  1. Bloqué sur une requête DELETE
    Par _Eric_ dans le forum JDBC
    Réponses: 4
    Dernier message: 29/01/2013, 09h47
  2. [MySQL] texte qui bloque sur une requéte mysql
    Par leto02 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/11/2007, 11h32
  3. Aide sur syntaxe requête.
    Par Nessie37 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 14/11/2007, 18h14
  4. [MySQL] Erreur de syntaxe sur ma requête SELECT
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 08/03/2006, 11h50
  5. [ACCESS] Je bloque sur une requête...
    Par portu dans le forum Langage SQL
    Réponses: 8
    Dernier message: 16/02/2006, 10h33

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