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

Langage SQL Discussion :

Un select dans un select


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de pierre24
    Profil pro
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Par défaut Un select dans un select
    Bonjour, est-t'il possible comme il l'est dit dans le titre de faire un select dans un select ?
    Si oui, quelle est la syntaxe exacte ?

    Merci.

  2. #2
    Membre chevronné Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Par défaut
    Bonjour

    La réponse est "Ca dépend du select..."

    Avez-vous des exemples de besoins qu'un select dans un select pourrait satisfaire ?

    De manière générale, des syntaxes comme celles là sont possibles.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT 
      champ,
      champ,
      (SELECT champ FROM latable WHERE condition) AS champ
    FROM latable
    WHERE lacondition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT
      champ,
      champ
    FROM (SELECT champ, champ FROM la table) AS unalias
    WHERE condition
    Cordialement

  3. #3
    Membre éclairé Avatar de pierre24
    Profil pro
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Par défaut
    Celle-ci me plait bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT 
      champ,
      champ,
      (SELECT champ FROM latable WHERE condition) AS champ
    FROM latable
    WHERE lacondition
    Un exemple :

    Pour des memes types de contrat ENC ( par exemple ds mon cas), avoir le nb total, le nb total souscrit à une date... Vous voyez ?

  4. #4
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut !

    Citation Envoyé par pierre24 Voir le message
    avoir le nb total, le nb total souscrit à une date... Vous voyez ?
    Tu veux le nombre total de lignes par contrat ?
    Les fonctions récapitulatives (dites fonction d'agrégat) se base sur la définition d'un groupe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT TonChamp, count(*)
    FROM TaTagle
    WHERE TesConditions
    GROUP BY TonChamp
    Si tu veux affiner les groupes, tu ajoutes des champs à ton GROUP BY...

  5. #5
    Membre éclairé Avatar de pierre24
    Profil pro
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Par défaut
    C'est assez compliqué. Je voudrais respecter une mise en page d'état...

    Pour des contrats dit "ENTRANT" savoir le nb de ce qui sont des affaires nouvelles, des remises en vigueur...etc

    Et je voudrais cela sur une meme ligne, pour chacune des villes référencés ds ma base par exemple.

    La solution de elbj me semble bonne, je vais me débrouiller avec cela.

  6. #6
    Membre chevronné Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Par défaut
    Attention à ne pas chercher à faire de la cosmétique avec ton SGBD. Si tu as un doute, postes tes requêtes ici (avec le schéma des données).

    Cordialement

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

Discussions similaires

  1. Selection d'une selection dans un filtre
    Par Swiper dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/07/2007, 19h26
  2. changement de formulaire sur selection dans le select
    Par LeXo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/06/2006, 11h51
  3. select dans un select
    Par Terminator dans le forum Langage SQL
    Réponses: 7
    Dernier message: 20/10/2005, 18h23
  4. [firebird] sous select dans un select
    Par gdido dans le forum SQL
    Réponses: 2
    Dernier message: 14/05/2004, 09h57
  5. [Sybase] Select dans une select loop en C
    Par Claudio dans le forum Sybase
    Réponses: 2
    Dernier message: 29/04/2003, 18h06

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