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

Développement SQL Server Discussion :

Select sur nom de colonne récupéré par une requête


Sujet :

Développement SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Select sur nom de colonne récupéré par une requête
    Bonjour à tous,

    Je travaille actuellement sur une solution où le modèle de données est assez particulier que je ne peux pas modifier.

    Partant de là, voici ma question.

    J'ai actuellement deux requêtes que j'aimerai, si c'est possible, exécuter en une seule.

    La première requête permet de récupérer le nom de la colonne à rechercher.
    La seconde colonne permet de rechercher toutes les valeurs distinctes de cette colonne dans une autre table.

    J'ai essayé de faire la chose suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select distinct(
    		select column_name 
    		from ColumnDefinition 
    		where dbg_table_name='TableCible' 
    		and prop_id = (
    			select object_id 
    			from GlobalPropertyDef 
    			where symbolic_name='IdentifiantPropriete')
    		) as propertyName
    		from TableCible;

    Cette requête ne me retourne que le résultat de la première requête, c'est à dire le nom de la colonne sur lequel rechercher.

    J'imagine qu'il est possible de faire ceci via une procédure PL/SQL, mais je souhaite uniquement utiliser une requête "simple".

    Est-ce possible? Si non, je conserverai les deux requêtes actuelles, si oui, je suis vraiment intéressé par une piste de réponse.
    Si quelqu'un sait que c'est non, merci de m'en informer que je clôture ce sujet.

    Merci de votre intérêt et de votre aide.

  2. #2
    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,
    Je ne suis pas sur d'avoir bien compris ce que vous voulez faire. Pourriez vous donner un exemple ?

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Pour faire simple, la requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT object_id 
    			FROM GlobalPropertyDef 
    			WHERE symbolic_name='IdentifiantPropriete'
    me renvoie par exemple "U8987_IdentifiantPropriete"


    Cette valeur de nom de colonne est affectée dynamiquement. Seule la valeur "symbolic_name" me permet de récupérer cette colonne.

    Je veux donc pouvoir faire un select des valeurs distinctes dans ma colonne.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT(U8987_IdentifiantPropriete) FROM TableCible;

    Est-ce plus clair?

    Merci de votre intérêt.

  4. #4
    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
    Alors dans ce cas, en effet, vous ne pourrez pas le faire en une seule requete telle que vous avez fait...

    La seule solution serait de construire dynamiquement votre requête dans une variable, puis de l’exécuter.

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    C'est ce que je pensais, je voulais en être certain.

    Merci beaucoup de votre aide et diligence.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/05/2008, 18h11
  2. Format d'une date récupérée par une requête sql
    Par ZIED dans le forum Zend Framework
    Réponses: 4
    Dernier message: 24/03/2008, 23h17
  3. [HQL] Nombre de colonnes retourné par une requête
    Par Fr@ncky dans le forum Hibernate
    Réponses: 4
    Dernier message: 13/07/2007, 13h47
  4. colonne définie par une requête imbriquée
    Par lper dans le forum Langage SQL
    Réponses: 10
    Dernier message: 02/09/2005, 16h41
  5. Mauvais noms de colonnes lors d'une requête
    Par nmathon dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/04/2004, 07h27

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