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 :

[débutant] Problème de requête


Sujet :

Langage SQL

  1. #1
    Membre du Club Avatar de gandalf_le_blanc
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Points : 47
    Points
    47
    Par défaut [débutant] Problème de requête
    Bonjour,

    je voudrais créer une requête mais je n'arrive pas à voir comment la faire.

    Explications :
    J'ai une table stockage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    create table STOCKAGE 
    ( 
        ID                INTEGER               not null, 
        DATE_CREATION     DATE                  not null, 
        PATH              VARCHAR(1024)         not null, 
        primary key (SIM_ID) 
    );
    J'ai une table image
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    create table IMAGE 
    ( 
        IMG_ID                INTEGER               not null, 
        IMG_NOM_FICHIER       VARCHAR(256)          not null, 
        IMG_SIGNATURE  INTEGER               not null           , 
        ID                INTEGER               not null, 
        primary key (IMG_ID) 
    );
    En fait, je voudrais faire une requête qui me retourne toutes les images ayant une signature se rapprochant le plus d'un nombre que je donne.
    Par exemple, si je donne le nbre 13, je voudrais toutes les images ayant une signature la plus proche de 13 dans l'ordre de la plus proche à la plus éloignée.

    Pour l'ordre, je sais que je dois faire ORDER BY signature ASC. Mais sinon je ne vois pas du tout comment faire.

    La requête aurait ce départ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT image.IMG_SIGNATURE, stockage.PATH, image.IMG_NOM_FICHIER
    FROM image,stockage
    WHERE image.ID = stockage.ID
    AND ??????
    ORDER BY image.IMG_SIGNATURE ASC

    Si vous avez des idées de départ, j'aimerais bien car je suis un peu ds le flou.

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Par exemple ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT image.IMG_SIGNATURE, stockage.PATH, image.IMG_NOM_FICHIER 
    FROM image,stockage 
    WHERE image.ID = stockage.ID 
    AND IMG_SIGNATURE BETWEEN 13-4 AND 13+4   'Par exemple
    ORDER BY image.IMG_SIGNATURE ASC
    N'est ce pas ?

  3. #3
    Membre du Club Avatar de gandalf_le_blanc
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par WOLO Laurent
    Par exemple ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT image.IMG_SIGNATURE, stockage.PATH, image.IMG_NOM_FICHIER 
    FROM image,stockage 
    WHERE image.ID = stockage.ID 
    AND IMG_SIGNATURE BETWEEN 13-4 AND 13+4   'Par exemple
    ORDER BY image.IMG_SIGNATURE ASC
    N'est ce pas ?
    Ouai ça serait dans ce genre là.
    Mais j'avais dans l'idée de ne pas fournir à la requête un nombr edu genre de 4 pour avoir toutes les images dans l'ordre croissant par rapport à la différence par rapport à 13.
    Car en fait, le pb est que les signature peuvent avoir des grosses différences et donc je ne pourrais pas fournir un chiffre comme le 4 par hasard, sinon, ca pourrait me donner des résultats pas top.
    Mais ce n'est peut être pas possible ?

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Est-ce quelque chose comme cela que tu cherches :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT image.IMG_SIGNATURE, stockage.PATH, image.IMG_NOM_FICHIER 
    FROM image, stockage 
    WHERE image.ID = stockage.ID 
    ORDER BY ABS(image.IMG_SIGNATURE - 13) ASC

  5. #5
    Membre du Club Avatar de gandalf_le_blanc
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par pgibone
    Est-ce quelque chose comme cela que tu cherches :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT image.IMG_SIGNATURE, stockage.PATH, image.IMG_NOM_FICHIER 
    FROM image, stockage 
    WHERE image.ID = stockage.ID 
    ORDER BY ABS(image.IMG_SIGNATURE - 13) ASC
    Ton ABS(image.IMG_SIGNATURE - 13) donne la valuer absolue de la différence ?
    Si c'est le cas, c parfait, c'est ce que je cherchais. Je n'ai pas du otut pensez à la valeur absolue !!!!!

    Merci

  6. #6
    Membre du Club Avatar de gandalf_le_blanc
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Points : 47
    Points
    47
    Par défaut
    Ouai c nickel, ca marche au poil.

    Merci encore.

  7. #7
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    C'est toujours un plaisir de rendre service à quelqu'un qui remercie

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/01/2010, 13h40
  2. [Débutant] Problème requête Update
    Par aure298 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/01/2008, 16h54
  3. Réponses: 4
    Dernier message: 16/12/2005, 16h25
  4. Problème de débutant dans une requête
    Par decour dans le forum Access
    Réponses: 7
    Dernier message: 14/10/2005, 14h17
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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