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

Langage SQL Discussion :

Duplication d'enregistrement avec sql


Sujet :

Langage SQL

  1. #21
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2017
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Le distinct ne résoud pas vraiment mon cas (tordue)

    j'ai trouvé autre astuce:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT res.ID_CONTRAT, res.ID_INDIVIDU, RES.ELT_ROLE, RES.DAT_CRE, RES.BOO_SIGNATAIRE, RES.BOO_CONDAMNE FROM
    			(
    			SELECT  TTC.ID_CONTRAT , TTIC2.ID_INDIVIDU, TTIC2.ELT_ROLE, TTIC2.DAT_CRE, TTIC2.BOO_SIGNATAIRE, TTIC2.BOO_CONDAMNE
    			FROM #tmp_TG_CONTRAT TTC INNER JOIN 
    			#tmp_TL_IND_CONTRAT_FULL TTIC1 on TTIC1.ID_CONTRAT = TTC.ID_CONTRAT INNER JOIN 
    			#tmp_TG_CONTRAT TTC1 on TTC.ID_RC = TTC1.ID_RC INNER JOIN    
    			#tmp_TL_IND_CONTRAT_FULL TTIC2 on TTC1.ID_CONTRAT = TTIC2.ID_CONTRAT
    			WHERE TTC.ID_RC = TTC1.ID_RC 
    			AND NOT EXISTS (SELECT * FROM TL_IND_CONTRAT TICR WHERE (TICR.ID_INDIVIDU=TTIC2.ID_INDIVIDU AND TICR.ID_CONTRAT=TTC.ID_CONTRAT))
    			) res
    			group by res.ID_CONTRAT, res.ID_INDIVIDU
    			having COUNT(*) > 0
    			ORDER BY res.ID_CONTRAT
    comment puis je faire un group by uniquement sur le couple res.ID_CONTRAT, res.ID_INDIVIDU sachant que je veux faire une insertion dans ces colonnes:
    res.ID_CONTRAT, res.ID_INDIVIDU, RES.ELT_ROLE, RES.DAT_CRE, RES.BOO_SIGNATAIRE, RES.BOO

  2. #22
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 285
    Points : 12 987
    Points
    12 987
    Par défaut
    Citation Envoyé par cheikhnafall Voir le message
    comment puis je faire un group by uniquement sur le couple res.ID_CONTRAT, res.ID_INDIVIDU sachant que je veux faire une insertion dans ces colonnes:
    res.ID_CONTRAT, res.ID_INDIVIDU, RES.ELT_ROLE, RES.DAT_CRE, RES.BOO_SIGNATAIRE, RES.BOO
    C'est simple: ce n'est pas possible sans utiliser une fonction d'agrégation. Il faut bien indiquer à SqlServer quelle valeur prendre pour les autres colonnes !

    Tatayo.

Discussions similaires

  1. [MySQL] Oubli d'un enregistrement requête sql avec mysql
    Par levasseur62 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/10/2011, 00h45
  2. [AC-2007] Créer un enregistrement avec des tables liées sur SQL Server
    Par NEfanda dans le forum Access
    Réponses: 2
    Dernier message: 29/04/2010, 20h31
  3. Verouiller un enregistrement avec linq to sql
    Par boby62423 dans le forum Linq
    Réponses: 10
    Dernier message: 29/04/2009, 14h34
  4. Réponses: 4
    Dernier message: 26/02/2008, 10h55
  5. [SQL] Duplication de lignes avec un ID différent
    Par neuropathie dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/12/2007, 16h59

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