Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
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 16/12/2011, 15h18   #1
Invité de passage
 
Inscription : juillet 2006
Messages : 37
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 37
Points : 3
Points : 3
Par défaut Purger une Table d'une Bd Sql.

J'ai une table dans une Bd Sql qui a les champs Date, Heure et plusieurs autres champs de donnée. Le problème est qu'il peut y avoir plusieurs enregistrement avec le même "Date" et "Heure" et c'est ce que je veux éliminer c-à-d que je veux avoir un seul enregistrement pour une "Date" et "Heure" et éliminer tout les autres. Je fouille sur internet et je vois des façon d'éliminer les doublons en fonction d'un champs mais en fonction de deux ?????

Quelqu'un a déjà eu ce problème ??


Merci!
wonderboutin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 15h54   #2
Membre Expert
 
Homme Etienne ZINZINDOHOUE
Ingénieur développement
Inscription : mars 2010
Messages : 1 139
Détails du profil
Informations personnelles :
Nom : Homme Etienne ZINZINDOHOUE
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur développement
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2010
Messages : 1 139
Points : 2 470
Points : 2 470
Envoyer un message via Yahoo à zinzineti
Tu peux trouver ton bonheur avec ce article publié par SQLPro
__________________
Etienne ZINZINDOHOUE
Billets-Articles
zinzineti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 16h12   #3
Invité de passage
 
Inscription : juillet 2006
Messages : 37
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 37
Points : 3
Points : 3
Par défaut Autre façon

L'autre façon que j'ai trouvé est avec les clés primaires. J'ai configurré mes champs "Date" et "Heure" en clé primaire. Le problème et que les doublons sont éliminé pour chaque champs.
wonderboutin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 16h33   #4
Membre Expert
 
Homme Etienne ZINZINDOHOUE
Ingénieur développement
Inscription : mars 2010
Messages : 1 139
Détails du profil
Informations personnelles :
Nom : Homme Etienne ZINZINDOHOUE
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur développement
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2010
Messages : 1 139
Points : 2 470
Points : 2 470
Envoyer un message via Yahoo à zinzineti
si tu as SQL 2005 et > tu peux utiliser un CTE avec ROW_NUMBER() OVER(PARTITION BY ...

Exemple


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CREATE TABLE personne (id int,nom varchar(20),prenom varchar(20))
 
INSERT INTO personne VALUES (1,'zinzindohoue','etienne')
INSERT INTO personne VALUES (1,'zinzindohoue','etienne')
INSERT INTO personne VALUES (2,'zinzin','eti')
INSERT INTO personne VALUES (2,'zinzin','eti')
INSERT INTO personne VALUES (2,'zinzin','eti')
 
SELECT * FROM personne
 
;WITH CTE (id,nom,prenom,DoublonCount)
AS
(
SELECT id,nom,prenom,ROW_NUMBER() OVER(PARTITION BY id,nom,prenom ORDER BY id) AS DoublonCount
FROM personne
)
DELETE
FROM CTE
WHERE DoublonCount > 1
 
SELECT * FROM personne
__________________
Etienne ZINZINDOHOUE
Billets-Articles
zinzineti 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 01h51.


 
 
 
 
Partenaires

Hébergement Web