Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes 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 14/10/2011, 12h32   #1
Invité régulier
 
Homme
Etudiant en alternance
Inscription : octobre 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : Industrie

Informations forums :
Inscription : octobre 2011
Messages : 10
Points : 6
Points : 6
Par défaut suppression de doublons

Bonjour, je cherche à éliminer les doublons de ma requête que voici:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT
 
	A.thedate,
	C.indèx - B.indèx AS indexHeuresActivite
FROM (
	SELECT
		CONVERT(varchar(10),dates,103) AS thedate,
		MIN(dates) AS debutActivite
	FROM mensuel
	WHERE DATEPART(hh, dates) = 0
	GROUP BY CONVERT(varchar(10),dates,103)
	) AS A
INNER JOIN mensuel AS B ON B.dates = A.debutActivite
INNER JOIN mensuel AS C ON DATEPART(dy, C.dates) =( DATEPART(dy, A.debutActivite)+1)
Il me semble que si ma 2eme jointure était modifié de façon à ce que C.dates soit = A.debutactivite + 1jour cela règlerait le problème, mais je ne sais pas comment faire.

En bleu sur l'image les résultats que je veux garder.
Images attachées
Type de fichier : png resultat.png (5,7 Ko, 6 affichages)
blivatz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 22h23   #2
Nouveau Membre du Club
 
Avatar de bouchra19
 
Femme bouchra
Développeur multimédia
Inscription : juin 2011
Messages : 62
Détails du profil
Informations personnelles :
Nom : Femme bouchra

Informations professionnelles :
Activité : Développeur multimédia
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2011
Messages : 62
Points : 31
Points : 31
ça ne va pas marcher si tu mets DISTINCT ?
bouchra19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2011, 12h30   #3
Candidat au titre de Membre du Club
 
Inscription : août 2009
Messages : 8
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : août 2009
Messages : 8
Points : 12
Points : 12
En effet, je pense qu'un DISTINCT juste après le SELECT devrait solutionner ton problème.
Nikloscorp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 08h00   #4
Invité régulier
 
Homme
Etudiant en alternance
Inscription : octobre 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : Industrie

Informations forums :
Inscription : octobre 2011
Messages : 10
Points : 6
Points : 6
Cela ne change rien j'avais déjà pensé à ajouter DISTINCT après SELECT.
blivatz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 08h07   #5
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Bonjour, il n'y a aucun doublon dans le résultats que tu nous montre...

Aucun doublon sur le couple Date-indexHeureActivite.

Que veux tu faire exactement?
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 08h20   #6
Invité régulier
 
Homme
Etudiant en alternance
Inscription : octobre 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : Industrie

Informations forums :
Inscription : octobre 2011
Messages : 10
Points : 6
Points : 6
je voudrai garder seulement le premier résultat de chaque jour.
blivatz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 08h39   #7
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Sur quel critère va tu opérer ton choix? si tu te retrouve avec des doublons avec cette requête cela signifie que vous avez des doublons dans votre table...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 09h26   #8
Invité régulier
 
Homme
Etudiant en alternance
Inscription : octobre 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : Industrie

Informations forums :
Inscription : octobre 2011
Messages : 10
Points : 6
Points : 6
Désolé je me suis surement mal exprimé concernant les doublons. Etant débutant je n'ai pas encore compris toutes les notions des base de données.
En tout cas j'ai pu résoudre mon problème en ajoutant "where DATEPART(hh, C.dates) = 0" à la fin de ma requête.
blivatz 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 07h19.


 
 
 
 
Partenaires

Hébergement Web