Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
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 17/08/2011, 14h20   #1
Invité de passage
 
Inscription : février 2004
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 11
Points : 2
Points : 2
Par défaut Problème de clé Primaires sur 3 champs

Bonjour à tous,

Voila j'ai un petit soucis.

J'ai une base A, qui une table toto de cette forme là :
Champs 1 Champs 2 Champs 3
AA 123 AZERTY
BB 456 QWERTY
BB 456 QWERTY
CC 789 RTYUIOP

Elle n'a pas de clé primaire.

J'ai une base B avec la même table toto, mais cette fois-ci les 3 champs forment la clé primaire.

Je souhaite faire un insert select :
Insert into [A].toto select * from [B].toto

Malheureusement, il y a une violation de clé primaire. (BB 456 QWERTY)
Comment faire pour n'extraire les data qu'1 seule fois?
vaysse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 14h53   #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
Utilisez le distinct :

Code :
1
2
3
4
INSERT 
   INTO TableA
        SELECT  
              DISTINCT Col1,Col2,Col3 FROM TableB
Bon courage
__________________
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 17/08/2011, 14h56   #3
Invité de passage
 
Inscription : février 2004
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 11
Points : 2
Points : 2
Merci, mais j'aurai du compléter :

J'ai des champs 4, 5,6,7 qui eux ne font pas partie de ma clé primaire mais que je souhaites importer aussi...

Merci encore
vaysse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 15h04   #4
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
Quelle sera alors la regle de choix du tuple a inserer ???
__________________
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 17/08/2011, 15h14   #5
Invité de passage
 
Inscription : février 2004
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 11
Points : 2
Points : 2
comment je peux faire pour isoler les lignes qui me posent problème dans la Table A?
vaysse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 15h16   #6
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
Avec une fonction de regroupement, genre

Code :
1
2
3
WHERE 
	EXISTS 
		(SELECT 1 FROM MATABLE GROUP BY Col1,Col2,Col3 HAVING COUNT(1)>1)
__________________
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 17/08/2011, 15h27   #7
Invité de passage
 
Inscription : février 2004
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 11
Points : 2
Points : 2
super grand merci!! j'ai isolé mes lignes à la con
vaysse est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h55.


 
 
 
 
Partenaires

Hébergement Web