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 :

Probléme doublon suite a une jointure


Sujet :

Développement SQL Server

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    dba
    Inscrit en
    Décembre 2016
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Jura (Franche Comté)

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

    Informations forums :
    Inscription : Décembre 2016
    Messages : 119
    Par défaut Probléme doublon suite a une jointure
    bonjour a tous

    je rencontre une problème de doublon dans la résultat de ma requête

    j'ai un doute que la résultat du doublon vient suite a ma jointure

    Qui peut m'aider a corriger ma requête pour enlever le doublon

    j'ai essayer avec distinct ca pas fonctionner
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
     
    ;with echantillon as (
    select
    	 Ref_Contrat = v.Contract_ID + '-' + format('0'+ rank() over (partition by v.Contract_ID order by v.sor_ident),'0#')
    	,MaxNumeroVersion = max(v."Numéro Version")
    	,NumAliment = v.Contract_ID
    	,v.sor_ident
    	,v.Client_ID
    from Base_versions v 
        	inner join Base_Risques r on r.[pol_numpol contract_id]=v.Contract_ID
    		inner join Base_mouvements m on m.Contract_ID=v.Contract_ID
    		inner join RemonteePerimetreContrats rp on rp.num_aliment=v.Contract_ID
    --where v.Contract_ID = 'VAZP00057'
    group by v.sor_ident ,v.Contract_ID
    	,v.Client_ID
    )
     
    select
     
    	Ref_Contrat	
    	,type_ante ='0' --  'Obligatoire => Antécédents Auto - Type (durée) ' 'MODIFY Null To 0'
    	,t_crm_ini = FIRST_VALUE ( [Bonus a la derniere echeance] )   OVER (partition by v.Contract_ID order by v.Age_of_the_policy asc)  
    	,t_crm = r.bm_rec_and_used_in_tari
    	,c_crm50 = r.nb_of_years_in_bm_50
    	,t_crm_ant = r.[Bonus a la derniere echeance]
    	,ante_assu_date_debut = NULL --'Non Obligatoire'
    	,ante_assu_date_fin = NULL --'Non Obligatoire'
    	,ante_assu_date_stop = NULL --'Non Obligatoire'
    	,dernier_assureur = r.previous_insurer_description
    	,meme_vehicule = 'non'
    	,taux_alcoolemie = r.[Ant_Taux d alcoolemie positif]
    	,sinistre_alcoolemie = NULL --'Non Obligatoire'
    	,duree_retrait_permis = NULL --'Non Obligatoire'
    	,motif_retrait_permis = NULL --'Non Obligatoire'
    	,motif_resiliation = NULL --'Non Obligatoire'
    	,motif_autres = NULL --'Non Obligatoire'
    	,c_anc_ass = NULL --'Non Obligatoire'
    	,controle_alcoolemie = r.[Ant_Test alcool positif ?]
    	,date_controle_alcoolemie = r.[Ant_Date alcoolemie positive]
    	,nature_controle_alcoolemie = NULL --'Non Obligatoire'
    	,consequence_controle_alcoolemie = NULL --'Non Obligatoire'
    	,duree_suspension_alcoolemie = NULL --'Non Obligatoire'
    	,rsa_permis_hors_alcoolemie = NULL --'Non Obligatoire'
    	,motif_suspension_permis = NULL --'Non Obligatoire'
    	,duree_RSA_hors_alcoolemie = NULL --'Non Obligatoire'
    	,resiliation_assureur = NULL --'Non Obligatoire'
    	,resilie_par = NULL --'Non Obligatoire'
    	,autre_resilie_par = NULL --'Non Obligatoire'
    	,nb_mois_ass = NULL --'Non Obligatoire'
    	,num_c =NUll --  'Obligatoire => Antécédents Auto - Référence de l antécédent'
    	,nombre_assureur = NULL --'Non Obligatoire'
    	,nombre_infraction = NULL --'Non Obligatoire'
    	,nombre_sinistre = NULL --'Non Obligatoire'
    	--,' '
    	--,r.*
     
    from
    	echantillon
     
    	join Base_versions v 
    		on v.Contract_ID = echantillon.NumAliment
    		and v.sor_ident = echantillon.sor_ident
    		and v."Numéro Version" = echantillon.MaxNumeroVersion
     
    	left join Base_Risques r
    		on  r.[pol_numpol contract_id] = echantillon.NumAliment
    		and r.[sor_ident contract_update_id] = echantillon.sor_ident
     
    	inner join Base_clients c
    	on c.client_id = echantillon.Client_ID
    	where r.bm_rec_and_used_in_tari is not null --'ajout suite au preésence du valeur null VAZP00179-10'
     
    order by Ref_Contrat
    ;
    merci pour vos aides
    Images attachées Images attachées  

Discussions similaires

  1. [MariaDB] problème de DELETE sur une jointure avec la même table (doublons)
    Par djoteck dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/10/2017, 10h30
  2. [CakePHP] Problème affichage données d'une jointure
    Par faust-arp dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 13/04/2015, 15h26
  3. Problème de doublon dans une jointure
    Par kvkylian dans le forum Langage SQL
    Réponses: 7
    Dernier message: 18/07/2011, 12h37
  4. [XL-2007] Supression de doublon suite a une condition
    Par jawed dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/07/2010, 21h12
  5. Débutant SQL, problème sur une jointure censée exclure ??
    Par derfatypik dans le forum Langage SQL
    Réponses: 8
    Dernier message: 22/06/2005, 15h55

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