sql server 2000
Bonjour
comment forcer le distinct a n'agir que sur une colonne et non sur l'ensemble des colonnes selectionnée ?
Merci
sql server 2000
Bonjour
comment forcer le distinct a n'agir que sur une colonne et non sur l'ensemble des colonnes selectionnée ?
Merci
DISTINCT s'applique à toutes les colonnes affichées par la selection...
http://sql.developpez.com/sqlaz/select/#L1.2
sinon, comment sélectionner une valeur pour les colonnes qui n'y sont pas soumises ?
Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)
Oui je comprend et c'est logique ceci dit j'aurais bien aimé un moyen de forcer le distinct sur la premiere valeur trouvée dans la table...
Non, pas possible, tu peux si tu force la valeur de selection pour les autres colonnes (MAX, MIN, COUNT, etc...)
dans ce cas, c'est :
mais sinon pas possible...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT champ_uniq, MAX(champ1), MIN(champ2), etc... FROM table GROUP BY champ_uniq
Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)
Avec la solution que vous proposez j'arrive à m'en sortir si ce n'est que je dois sélectionner le max de toutes les dates pour ne plus avoir de doublons.
(et faire les jointures adéquates bien entendu)
j'ai lu les cours sur sqlpro.developpez.com et je n'arrive pas à faire fonctionner un script qui sert à la suppréssion des doublons.
le voilà
quand je le copie dans mon analyseur de requete =>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 DELETE FROM T_DOUBLON T1 WHERE EXISTS (SELECT * FROM T_DOUBLON T2 WHERE T1.NUM = T2.NUM AND T1.NOM = T2.NOM AND T1.PRENOM = T2.PRENOM GROUP BY NUM, NOM, PRENOM HAVING COUNT(*) > 1)
Server: Msg 170, Level 15, State 1, Line 2
Ligne 2 : syntaxe incorrecte vers 'T1'.
Vous pouvez retrouver le script en question
http://sqlpro.developpez.com/cours/doublons/#L2.1.3
Il est bien spécifié que c'est un exemple pour SQL Server.. Qu'est ce que j'ai encore mal fait ???![]()
Il y a effffectivement une erreur :
A +
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 DELETE FROM T_DOUBLON WHERE EXISTS (SELECT * FROM T_DOUBLON T2 WHERE NUM = T2.NUM AND NOM = T2.NOM AND PRENOM = T2.PRENOM GROUP BY NUM, NOM, PRENOM HAVING COUNT(*) > 1)
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Partager