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

Développement SQL Server Discussion :

Remplacer un EXISTS


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut Remplacer un EXISTS
    Bonjour,

    je cherche à remplacer un EXISTS par autre chose notamment dans un soucis de performances mais je ne sais comment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    AND	(
    					EXISTS
    					(SELECT 1
    					FROM affair, doss, pfac_fele, unt_doss, pte_cmde,
    					cmde, lieu, zon_geo
    					WHERE	doss_codsit = ven_facture_fn.vfaf_codsit
    					AND	doss_numdos = ven_facture_fn.vfaf_numdos
    					AND	doss_tgm = ven_facture_fn.vfaf_tgm
    					AND	pffe_numpeefacint = ven_facture_fn.vfaf_numpeefacint
    					AND	udos_numintuntdos = pffe_numintuntdos
    					AND	pcde_codoricde = udos_codoricde
    					AND	pcde_numcde = udos_numcde
    					AND	pcde_numptecde = udos_numptecde
    					AND	cmde_codoricde = pcde_codoricde
    					AND	cmde_numcde = pcde_numcde
    					AND	lieu_codleu = doss_codpordch
    					AND	zgeo_codzongeo = lieu_codzongeo
    					AND 	affr_codsit = ven_facture_fn.vfaf_codsit
    					AND	affr_codaff = @affaire
    					AND	(affr_cdeusiexp = pcde_cdeusiexp OR affr_cdeusiexp IS NULL)
    					AND	(affr_codporebq IN
    										(SELECT 	voya_codporebq
    										 FROM 	voyage
    										 WHERE	voya_codsit = dossier.doss_codsit
    										 AND		voya_numvyg = dossier.doss_numvyg
    										) OR affr_codporebq IS NULL
    							)
    					AND	(affr_codpordch = doss.doss_codpordch OR affr_codpordch IS NULL)
    					AND	(affr_codleudes = cmde_codleudes OR affr_codleudes IS NULL)
    					AND	(affr_codclides = cmde_codclides OR affr_codclides IS NULL)
    					AND	(affr_codclifac = pcde_codclifacman
    							OR affr_codclifac = pcde_codclifacfet
    							OR affr_codclifac = pcde_codclifacppt
    							OR affr_codclifac = pcde_codclifacexp
    							OR affr_codclifac = pcde_codclifactra
    							OR affr_codclifac = pcde_codclifaccon
    							OR affr_codclifac IS NULL
    							)
    					AND	(affr_codzongeo = zgeo_codzongeo OR affr_codzongeo IS NULL)
    					AND	(affr_codcontinent = zgeo_codcontinent OR affr_codcontinent IS NULL)
    					AND	(affr_codpay = lieu_codpay OR affr_codpay IS NULL)
    			       )       )
    Merci de votre aide

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 010
    Billets dans le blog
    6
    Par défaut
    Sans le requête de la requête c'est impossible de t'aider !

    De plus en général un EXISTS est généralement plus optimisé que tout autre opérateur !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    460
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2005
    Messages : 460
    Par défaut
    De plus en général un EXISTS est généralement plus optimisé que tout autre opérateur !
    Ok justement c'est ce que je voulais savoir, donc je dois optimiser mon exists et pas tenter de le remplacer par autre chose).

Discussions similaires

  1. remplacer NOT IN par NOT EXISTS
    Par Louisa2005 dans le forum SQL
    Réponses: 5
    Dernier message: 25/03/2010, 10h04
  2. [AC-2003] Remplacer fichier Excel si existant
    Par shadypierre dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/03/2010, 14h19
  3. Réponses: 4
    Dernier message: 26/05/2009, 09h15
  4. Remplacer une cellule par une zone de texte dans un script existant
    Par beegees dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/10/2008, 16h57
  5. Remplacer des , par des ; sur un fichier existant.
    Par bjibjat dans le forum VBScript
    Réponses: 12
    Dernier message: 03/10/2007, 10h57

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