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 :

Simplification d'une requête SQL


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club Avatar de soso18
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2021
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Simplification d'une requête SQL
    Salut,

    J'ai écrit une requête en SQL qui permet de lister les modèles, pour lesquels il s'avère que 2 auteurs (ou plus)
    obtiennent des résultats incohérents sur la précision, ce qui répond a cette inequation "abs(e1.accuracy - e2.accuracy) > e1.error + e2.error" .
    La requête est la suivante:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select distinct model
    from Experience e1
    where exists (
      select *
      from Experience e2
      where abs(e1.accuracy - e2.accuracy) > e1.error + e2.error
      and e2.authors <> e1.authors
    );

    Et j'aimerais savoir comment la simplifier ? Je voudrais supprimer le "where exists" mais je ne vois pas comment...

    Si quelqu'un a des idées je suis preneuse !

    Merci !

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 073
    Points
    28 073
    Par défaut
    salut,

    je ne suis pas un pro de la requête mais en l'état, vu ce que tu veux faire, je ne vois pas trop comment la simplifier. J'aurais sans doute fait la même chose.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Nouveau Candidat au Club Avatar de soso18
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2021
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    salut,

    je ne suis pas un pro de la requête mais en l'état, vu ce que tu veux faire, je ne vois pas trop comment la simplifier. J'aurais sans doute fait la même chose.
    Ah mince ..! A vrai dire, moi non plus je ne vois pas d'autres moyens pour le moment mais apparemment il en existe un

    Merci pour ta réponse en tout cas

  4. #4
    Membre éprouvé
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 56
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Points : 931
    Points
    931
    Par défaut Bonsoir Soso18,
    Ne faudrait-il pas que l'autre auteur ait traité le même modèle ?
    Parce que dans cette sous-requête il n'y a aucun rapprochement...
    En général on évite le select * dans la sous-requête EXISTS (select 1 suffit amplement).
    J'ignore si cela simplifie, mais on peut souvent remplacer une sous-requête EXISTS par une jointure externe (là on en revient au point 1 : rapprochement sur le modèle ?)
    Les problèmes sont des opportunités en vêtements de travail. Henry H. Kaiser
    Il n'est pas de problème dont une absence de solution ne finisse par venir à bout. Henri Queuille

Discussions similaires

  1. Simplification d'une requête SQL
    Par nicou50 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 07/09/2006, 06h37
  2. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  3. Récupurer via une requête SQL la valeur la plus proche
    Par yoda_style dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/04/2004, 13h52
  4. Résultat d'une requète SQL
    Par camino dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2004, 15h22
  5. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26

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