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

MS SQL Server Discussion :

requete avec distinct !?


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 19
    Points : 18
    Points
    18
    Par défaut requete avec distinct !?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    SELECT distinct [KSK]
          ,[Operation]
          ,[Workplace]
          ,[Route]
          ,[RouteStep]
          ,[Location]
          ,[StartTime]
          ,[CompleteTime]
          ,[WorkTime]
          ,[DispositionCode]
          ,[CreateTime]
          ,[ErrorCode]
      FROM [LEPS].[LEP_HIS].[WorkTimes]
    where RouteStep = '20'
    and CompleteTime between '2010-06-16 14:00:00' and '2010-06-16 22:00:00'
    order by worktime
    je veux appliqué la commande distinct sur le premier champ [KSK] et dans le résultat affiché je veux voir tous les champs ;;;; n'ai pas donc désactivé les autre champs pour avoir seulement les non-doublons de KSK

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 119
    Points : 98
    Points
    98
    Par défaut
    Bonjour,

    si je comprends bien ce que vous voulez faire :

    vous voulez que dans le resultat de la requete, les KSK soient unique tout en ayant les données des autres champs ?

    Vous risquez de perdre des données dans le résultat en assumant que le champ KSK n'est pas une clé primaire.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Une approche cross apply :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    ; WITH Q AS (
    SELECT [KSK]
          ,[Operation]
          ,[Workplace]
          ,[Route]
          ,[RouteStep]
          ,[Location]
          ,[StartTime]
          ,[CompleteTime]
          ,[WorkTime]
          ,[DispositionCode]
          ,[CreateTime]
          ,[ErrorCode]
      FROM [LEPS].[LEP_HIS].[WorkTimes]
    WHERE RouteStep = '20'
    AND CompleteTime BETWEEN '2010-06-16 14:00:00' AND '2010-06-16 22:00:00'
    )
     
    SELECT
     *
    FROM (
     SELECT DISTINCT [KSK] FROM Q
    ) E1
    CROSS APPLY (
     SELECT TOP(1)
          [Operation]
          ,[Workplace]
          ,[Route]
          ,[RouteStep]
          ,[Location]
          ,[StartTime]
          ,[CompleteTime]
          ,[WorkTime]
          ,[DispositionCode]
          ,[CreateTime]
          ,[ErrorCode]
     FROM Q
     WHERE Q.[KSK]  = E1.[KSK] 
    ) AS E2
    ORDER BY worktime
    Il y a aussi des approches ROW_NUMBER()

Discussions similaires

  1. Requete avec distinction de certains champs
    Par OLI03 dans le forum SQL
    Réponses: 1
    Dernier message: 13/02/2012, 10h20
  2. Réponses: 2
    Dernier message: 07/08/2008, 12h17
  3. aide sur une requete avec distinct
    Par WELCOMSMAIL dans le forum Langage SQL
    Réponses: 1
    Dernier message: 17/12/2007, 13h29
  4. probleme sur une requete avec DISTINCT
    Par samsso2006 dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/05/2007, 14h35
  5. [SQL] Pbl de requete avec DISTINCT
    Par UNi[FR] dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/03/2007, 14h26

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