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 :

requete SQL 3 tables


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 16
    Par défaut requete SQL 3 tables
    Bonjour,

    J' ai 3 tables liées sous SQL Server 2005:
    - Invoice(idInvoice, CR...)
    - InvoiceByUser(idDisputeByUser, date, idxUser, idxInvoice)
    - User(idUser, name, role)

    Les données :
    Invoice :
    1 | 12452
    2 | 25487
    3 | 65587

    InvoiceByUser:
    1 | 04/06/2008 | 1 | 1
    2 | 04/06/2008 | 2 | 1
    3 | 04/06/2008 | 1 | 2
    4 | 04/06/2008 | 2 | 3

    User:
    1 | BBA | CUS
    2 | ADE | Sales

    Je veux obtenir dans mon affichage final un listing des invoices comme celui-ci :
    id | CR |CUS |Sales
    1 | 12452 | BBA | ADE
    2 | 12452 | BBA | -
    3 | 12452 | - | ADE

    Mon soucis est que si je fais une jointure je récupère plusieurs fois le même invoice...
    Dois-je passer par 2 requêtes ou cela peut-il se faire en une seule ? Faut-il transformer les lignes InvoiceByUser en colonne ? Je suis un peu perdu...

    Merci par avance,
    @+

  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
    21 998
    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 : 21 998
    Billets dans le blog
    6
    Par défaut
    ... transformer les lignes InvoiceByUser en colonne ?
    cale fait partie de la cosmétiques de données. Ce n'est pas à faire sur un serveur SQL, sauf si vous voulez sciemment en pourrir les performances !

    Lisez l'article que j'ai écrit à ce sujet : 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
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 16
    Par défaut
    ok je viens de lire l'article mais ca donnerait quoi en terme de requete SQL si jamais je voulais faire le mauvais eleve ?

Discussions similaires

  1. Requete SQL multi tables
    Par csilas dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 28/01/2010, 15h05
  2. requete sql sur tables paradox
    Par quedudev dans le forum Bases de données
    Réponses: 1
    Dernier message: 18/02/2009, 17h42
  3. Requete SQL : 2 tables + count
    Par vichenze dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/08/2007, 10h28
  4. Requete SQL sur table dbase et date du jour
    Par Jean-François PETIT dans le forum Bases de données
    Réponses: 5
    Dernier message: 29/03/2005, 09h31
  5. requete sql mutlis tables
    Par tommath dans le forum Langage SQL
    Réponses: 12
    Dernier message: 30/08/2004, 09h54

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