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

SQL Firebird Discussion :

Problème d'incomprehension requête sql


Sujet :

SQL Firebird

  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut Problème d'incomprehension requête sql
    Bonjour a tous

    voici mes deux instructions qui me donne le même résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT DISTINCT champ1, champ2, champ3
    FROM   MESINFORMATIONS T1
    WHERE T1.LACLE < ANY (SELECT LACLE
                   FROM   MESINFORMATIONS T2
                   WHERE  T1.lacle <> T2.lacle
                     AND  T1.champ1 = T2.champ1
                     AND  T1.champ2 = T2.champ2
                     AND  T1.champ3 = T2.champ3)
    total doublons: 1995
    Ensuite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT DISTINCT champ1, champ2, champ3
    FROM   MESINFORMATIONS T1
    WHERE  EXISTS (SELECT 1
                   FROM   MESINFORMATIONS T2
                   WHERE  T1.lacle <> T2.lacle
                     AND  T1.champ1 = T2.champ1
                     AND  T1.champ2 = T2.champ2
                     AND  T1.champ3 = T2.champ3)
    total doublons: 1995

    et pour finir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    DELETE
    FROM   MESINFORMATIONS T1
    WHERE T1.LACLE < ANY (SELECT LACLE
                        FROM   MESINFORMATIONS T2
                        WHERE  T1.LACLE <> T2.LACLE
                          AND  T1.CHAMP1 = T2.CHAMP1
                          AND  T1.CHAMP2 = T2.CHAMP2
                          AND  T1.CHAMP3 = T2.CHAMP3)
    qui supprime 1999 occurences, je ne comprend pas ou ai je pèché ?

    Ensuite je me demandait si il y avait un moyen de supprimer les doublons en spécifiant un critère, exemeple:

    dans mon cas je veux supprimer champ1, champ2, champ3 qui sont en doublons es que je peux ajouter un autres champs pour restreindre la suppression : (les doublons dont le champ4 > 10)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    DELETE
    FROM   MESINFORMATIONS T1
    WHERE T1.LACLE < ANY (SELECT LACLE
                        FROM   MESINFORMATIONS T2
                        WHERE  T1.LACLE <> T2.LACLE
                          AND  T1.CHAMP1 = T2.CHAMP1
                          AND  T1.CHAMP2 = T2.CHAMP2
                          AND  T1.CHAMP3 = T2.CHAMP3
                          AND CHAMP4 >10 ) /* ajout d'un paramètre*/
    Merçi a tous

  2. #2
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Enlevez le distinct de vos requetes select, et vous verrez apparaitre vos 4 lignes manquantes...
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  3. #3
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Citation Envoyé par Yanika_bzh Voir le message
    Enlevez le distinct de vos requetes select, et vous verrez apparaitre vos 4 lignes manquantes...
    Exacte j'avais même pas remarqué ! ,
    je vais plancher maintenant sur mon 2eme soucis !

  4. #4
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Apparament ya une incohérence au niveau des resultats quand j'ajoute un autre filtre , je continu donc de chercher

Discussions similaires

  1. [SQL] Problème de " dans requête SQL
    Par cciocc dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/05/2006, 10h22
  2. [SQL] Problème PHP et requête SQL
    Par Pepito dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 12/05/2006, 02h41
  3. [MySQL] Problème avec une requête SQL
    Par chobol dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 11/05/2006, 12h29
  4. [VB]Problème avec une requête SQL
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 18/03/2006, 17h47
  5. Problème pour bâtir requête SQL
    Par Val2005 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 02/11/2005, 15h49

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