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 :

comment faire un select imbriqué


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 6
    Par défaut comment faire un select imbriqué
    Bonjour,

    Je butte depuis plusieurs jours sur un probleme dont je ne trouve pas la solution.
    J'ai 3 tables dans ma base, une table d'actualites, une table de catégories et une table de jointures entre les actus et les catégories (pour pouvoir avoir une ou plusieurs catégories par actu). Je voudrais récupérer en une requete la liste des actus, ainsi que le nom de la ou des catégories liées à chaque actu. J'ai essayé de faire une requete avec un select imbriqué mais ca ne donne rien.
    Quelqu'un aurait une idée de la syntaxe pour su SQL Server 2005 please?

    J'ai essayé un truc dans ce style:
    SELECT actu_id, actu_titre, (SELECT categorie_titre FROM categories, lien_actualites_categories WHERE cat_id=lien_cat_id AND lien_actu_id=actu_id) as categories_titres FROM actualites


    L'idée est de récupérer un champ nommé "categories_titres" qui contiendrait les titres des catégories de l'actu, du genre : "Cinéma - DVD - BD" ou "Cinéma" (si y'a qu'une catégorie)

    Merci à vous.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 010
    Billets dans le blog
    6
    Par défaut
    Ce que vous voulez faire c'est de la cosmétique de données, c'est à dire au lieu d'avoir vos données sous forme de colonnes, mettre tout dans un même "champ".

    SQL n'est pas dut out fait pour cela. C'est à la couche cliente de le faire.

    A lire : http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L9

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 6
    Par défaut
    ET si je fais un select qui aurait cette forme ...?

    actu_id (int), actu_titre (varchar), actu_date (date), id_categorie_1 (0/1), id_categorie_2 (0/1), id_categorie_31 (0/1)....

    En gros je rajoute autant de colonnes que de catégories disponibles et je stocke dans ces colonnes juste un booleen pour dire si l'actu fait partie de telle ou telle catégorie. Ensuite, je n'ai plus qu'à tester les valeurs de ces colonnes pour chaque actu listée et afficher ce qu'il faut (mais du coté ASP, pas SQL).

    Ca serait mieux ?
    Comment je pourrait monter une telle requete ?

    Merci.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 010
    Billets dans le blog
    6
    Par défaut
    C'est déjà mieux, mais ne change rien au problème de fond : vous voulez utiliser un SGBDR pour faire de la présentation. Or il sera toujours contre performant !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Comment faire un select imbriqué
    Par Invité dans le forum jQuery
    Réponses: 1
    Dernier message: 16/07/2013, 16h19
  2. Comment faire une combobox imbriquée
    Par dogon dans le forum WebDev
    Réponses: 4
    Dernier message: 10/12/2007, 22h17
  3. Comment faire un select max()
    Par lecra dans le forum Zend_Db
    Réponses: 6
    Dernier message: 18/05/2007, 13h20
  4. Réponses: 1
    Dernier message: 26/01/2007, 20h29
  5. Réponses: 2
    Dernier message: 26/10/2006, 17h52

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