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 :

SQL: sélection d'un échantillonage par jointure


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 11
    Points
    11
    Par défaut SQL: sélection d'un échantillonage par jointure
    Bonjour,
    A partir d'une table contenant en autres les données LIBELLLE, MONTANT et COMPTE on me demande de sortir un échantillon (10 ) de COMPTE pour chaques couples LIBELLE MONTANT (sachant que les MONTANT peuvent varier). Comment faire avec une jointure pour obtenir le résultat demandé ?
    Quelqu'un aurait-il une solution? Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    J'ai pas testé mais un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ; WITH SR as (
    	select TOP (10) id, col1, col2
    	from dbo.table1
    )
    Select SR.* , T2.*
    from SR
    INNER JOIN dbo.table2 as T2
    	on T2.id = SR.id

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Citation Envoyé par winter60 Voir le message
    (sachant que les MONTANT peuvent varier)
    C'est à dire ?

    Vous pouvez essayer ceci :

    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
     
    WITH CTE AS(
        SELECT
            COMPTE,
            LIBELLE, 
            MONTANT,
            ROW_NUMBER() OVER(PARTITION BY LIBELLE, MONTANT ORDER BY NEWID()) AS Rn
        FROM LaTable
    )
    SELECT 
            COMPTE,
            LIBELLE, 
            MONTANT
    FROM CTE
    WHERE Rn <= 10
    sinon, expliquez mieux votre problème, et postez un jeu d'essai avec résultat attendu.

Discussions similaires

  1. SQL - SELECT exclusif par jointure
    Par Zoups dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/12/2011, 13h56
  2. [SQL] Sélection par numéro de colonne
    Par Ridculle dans le forum SQL
    Réponses: 4
    Dernier message: 25/02/2008, 13h38
  3. Sélection du plus récent avec jointure
    Par nicovmd dans le forum Langage SQL
    Réponses: 1
    Dernier message: 21/10/2005, 10h26
  4. Réponses: 2
    Dernier message: 01/06/2004, 15h08
  5. [SQL] Sélection ds plusieurs table
    Par lord_paco dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/07/2003, 17h53

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