Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/08/2011, 14h36   #1
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
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 :
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 :
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 :
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 :
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
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 16h40   #2
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
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)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 17h04   #3
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
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 !
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 11h36   #4
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
Apparament ya une incohérence au niveau des resultats quand j'ajoute un autre filtre , je continu donc de chercher
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h08.


 
 
 
 
Partenaires

Hébergement Web