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 :

Concaténation de 2 select en 1 seul


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2003
    Messages : 52
    Points : 45
    Points
    45
    Par défaut Concaténation de 2 select en 1 seul
    Bonjour,

    Bon alors j'ai fais qqs recherche sur le forum, et j'ai pas trouver la solution. Et pourtant j'ai l'impression que mon problème est tout con
    Alors voila j'ai besoin de trier une table selon un atribut 'poistion' donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT	*
    FROM	MotCle
    WHERE	Advertiser='Synodiance'
    ORDER BY Position
    MAIS, il y a des lignes dont la valeur de position est égal à 0, ce qui signifie en faites qu'ils n'ont pas de positionnement particulier.
    Et donc j'aimerai les positionner en fin et non au début.

    Donc j'obtiens deux select, voici le deuxième :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT	*
    FROM	MotCle
    WHERE	Advertiser='Synodiance'
    AND	Position=0
    Et donc en fait j'aimerais obtenir le résultat de ces deux requêtes en 1 seule !

    Merci !

  2. #2
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut Re: Concaténation de 2 select en 1 seul
    Faudrait essayer un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT	*
    FROM	MotCle
    WHERE	Advertiser='Synodiance'
    ORDER BY 
    (case WHEN Position=0 THEN 999999 else position end)
    avec 999999 la valeur max si elle existe ...


    ou


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT	case WHEN Position=0 THEN 1 else 0 end as new_order,*
    FROM	MotCle
    WHERE	Advertiser='Synodiance'
    ORDER BY new_order, Position
    Je prendrais plutôt la soluce 2 pour ma part ...


    Citation Envoyé par Fleep
    Bonjour,

    Bon alors j'ai fais qqs recherche sur le forum, et j'ai pas trouver la solution. Et pourtant j'ai l'impression que mon problème est tout con
    Alors voila j'ai besoin de trier une table selon un atribut 'poistion' donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT	*
    FROM	MotCle
    WHERE	Advertiser='Synodiance'
    ORDER BY Position
    MAIS, il y a des lignes dont la valeur de position est égal à 0, ce qui signifie en faites qu'ils n'ont pas de positionnement particulier.
    Et donc j'aimerai les positionner en fin et non au début.

    Donc j'obtiens deux select, voici le deuxième :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT	*
    FROM	MotCle
    WHERE	Advertiser='Synodiance'
    AND	Position=0
    Et donc en fait j'aimerais obtenir le résultat de ces deux requêtes en 1 seule !

    Merci !
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  3. #3
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2003
    Messages : 52
    Points : 45
    Points
    45
    Par défaut
    Merci , c ca !!

    Mais je l'ai un peut modifier, car il ne me faut pas le select new_order.
    Voici la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT  * 
    FROM  	MotCle 
    WHERE   Advertiser='Synodiance'
    ORDER BY (case WHEN Position=0 THEN 1 else 0 end), Position
    Merci encore, je connaissais pas le case

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SELECT d'un seul élément
    Par Siteac dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/11/2006, 23h17
  2. [VBA-E] selection en une seule fois
    Par SpaceFrog dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/10/2006, 17h37
  3. Selection d'une seule valeur
    Par sorydoums dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/08/2006, 11h26
  4. [VB6] "Concaténation" de deux images en une seule
    Par KrusK dans le forum VB 6 et antérieur
    Réponses: 22
    Dernier message: 07/07/2006, 10h45
  5. UNION de SELECT COUNT --> 1 seule lgne
    Par tiboleo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/02/2006, 16h46

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