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

Requêtes et SQL. Discussion :

Demande de correction pour une requete simple (debutant) [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti
    Homme Profil pro
    Musicien
    Inscrit en
    Juillet 2024
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Musicien

    Informations forums :
    Inscription : Juillet 2024
    Messages : 15
    Par défaut Demande de correction pour une requete simple (debutant)
    Bonjour le probleme est simple mais j'ignore les bases du sql
    Jai une tables FILMS , avec, entre autre, 2 champs appelés films_dossier, qui repertorie tous les fichiers video , et films_sous_dossier, qui repertorie tous les raccourcis pointant vers le fichier video. En effet chaque film est suceptible d'être classé dans plusieurs dossiers, mais, bien sur, pour ne pas surcharger le DD, je ne copie pas plusieurs fois le fichier video et j'utilise les raccourcis

    Ainsi je voudrais voir tout les films contenus dans un dossier X (ici Afrique), que ce soit en fichier video ou en raccourci, et donc obtenir :

    Dans le champs dossier, qui ne peut contenir qu'un seul nom de dossier, les enregistrements exactement = Afrique
    +
    dans le champs films_sous_dossier, qui lui peut avoir de aucun à plusieurs noms de dossiers, tous les enregistrements qui contiennent Afrique


    J'ai essayé diverses formules genre :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT films_dossier,  films_sous_dossier
    FROM FILMS
    WHERE films_dossier='Afrique' AND films_sous_dossier LIKE 'Afrique*';
    Bien sur ca ne fonctionne pas

    Merci d'avance pour cette correction

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    3 050
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 050
    Par défaut
    Alors essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT films_dossier, films_sous_dossier
    FROM FILMS
    WHERE films_dossier='Afrique' 
          OR instr ([films_sous_dossier] , "Afrique") > 0 ;
    la fonction instr(string1, string2) retourne la position dans string1, de la 1ére lettre de string2 , si trouvée
    retourne 0 si string2 n'est pas trouvée

  3. #3
    Membre averti
    Homme Profil pro
    Musicien
    Inscrit en
    Juillet 2024
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Musicien

    Informations forums :
    Inscription : Juillet 2024
    Messages : 15
    Par défaut
    Merci micniv de la reponse. Malheureusement le resultat est surprenant.

    J'ai 21 resultat avec seulement les 2 champs dossier et sous dossier. Mis à part cette limitation des champs obtenus, il m'a en fait donné tous les enregistrements où films_dossier = Afrique et n'a rien trouvé dans le champs films_sous_dossier

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    3 050
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 050
    Par défaut
    Bizarre ! la requête aurait dû afficher également tous les lignes avec
    [films_sous_dossier] contenant "Afrique"..
    Vérifie ta syntaxe, sinon montre nous ta table ...

  5. #5
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 973
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 973
    Par défaut
    bonjour tous,
    Citation Envoyé par Cyril03
    dans le champs films_sous_dossier, qui lui peut avoir de aucun à plusieurs noms de dossiers, tous les enregistrements qui contiennent Afrique
    peux-tu préciser de quel type est le champ films_sous_dossier (texte ou champ multi-valué ...) dans ce dernier cas, il faudrait ajouter la propriété .Value à la suite du nom du champ dans le code de micniv:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT films_dossier, films_sous_dossier
    FROM FILMS
    WHERE films_dossier='Afrique' 
          OR instr ([films_sous_dossier].Value , "Afrique") > 0 ;

  6. #6
    Membre averti
    Homme Profil pro
    Musicien
    Inscrit en
    Juillet 2024
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Musicien

    Informations forums :
    Inscription : Juillet 2024
    Messages : 15
    Par défaut
    Ca y est, j'ai trouvé les erreurs

    Pour la selection des colonnes, c'est evidemment la 1ere ligne, SELECT * et non pas films_dossier etc ...

    Et pour le probleme des sous dossier ... ben en réalité il n'y en avait pas. Ou plutot il y en avait mais je ne les avait pas rempli dans la table ...
    J'ai donc fait un essai avec "Afrique" seulement ou avec un dossier supplementaire "Afrique, Francais" et ca marche.

    Merci à tous les deux.

    ps J'avais d'abord envoyé un message avec image de la table mais l'idée m'est venu puis j'ai edité le message ... mais impossible d'enlever l'image
    Images attachées Images attachées  

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

Discussions similaires

  1. SimpleXML avec XPATH pour une requete simple en apparence
    Par NissqR dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 23/03/2010, 11h09
  2. Demande d'aide pour une requete SQL
    Par MatthieuC06 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 30/10/2009, 11h46
  3. Demande d'aide pour une requete
    Par counteraccro dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/02/2008, 18h29
  4. Réponses: 2
    Dernier message: 02/03/2006, 12h57
  5. Demande d'aide pour une requête
    Par arkzor dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/12/2004, 03h40

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