Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
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 25/04/2011, 11h37   #1
Invité régulier
 
Inscription : mars 2011
Messages : 48
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 48
Points : 7
Points : 7
Par défaut Requête sans résultat et qui dure plus que trois minutes

bonjour mes amis

ma requête est la suivante :
Code :
1
2
3
     SELECT count (publicationversionid_fk) FROM publicationdata@bdprod 
 WHERE publicationversionid_fk || ' ' ||fieldname || ' ' ||fieldlang
 NOT IN (SELECT DISTINCT publicationversionid_fk || ' ' ||fieldname || ' ' ||fieldlang FROM publicationdata) ;
nombre de ligne dans les deux tables et plus que 11694 L

cette requete ne me retourne aucun résultat et dure plus que 3 min

merci de m'aider à résoudre ce probléme
SALMHSN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2011, 12h01   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 442
Points : 10 442
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Vous n'avez pas de clef primaire sur vos tables ?
Il vaut mieux utiliser un NOT EXISTS pour votre besoin :
Code :
1
2
3
4
5
6
7
SELECT count (prd.publicationversionid_fk)
  FROM publicationdata@bdprod prd
 WHERE NOT EXISTS (SELECT NULL
                     FROM publicationdata dev
                    WHERE dev.publicationversionid_fk = prd.publicationversionid_fk
                      AND dev.fieldname               = prd.fieldname
                      AND dev.fieldlang               = prd.fieldlang)
J'ai pris la liberté de scinder les concaténations en trois éléments de recherche distincts, mais c'est peut-être faux : ça dépend de vos données.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2011, 12h23   #3
Invité régulier
 
Inscription : mars 2011
Messages : 48
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 48
Points : 7
Points : 7
oui j'ai evité not exists parce que je veux supprimer les lignes resultants de cette requête donc je veux faire
Code :
1
2
DELETE FROM publicationdata@bdprod WHERE WHERE publicationversionid_fk || ' ' ||fieldname || ' ' ||fieldlang
 NOT IN (SELECT DISTINCT publicationversionid_fk || ' ' ||fieldname || ' ' ||fieldlang FROM publicationdata) ;
avec not exists les lignes ne vont pas être supprimées !
c çà le probléme
SALMHSN 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 06h49.


 
 
 
 
Partenaires

Hébergement Web