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 pour 3 tables


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut Requete pour 3 tables
    J'ai 3 tables qui ont la structure suivante:

    Tableau 1: FAZ_Automobile (IdAuto,IdMarca,IdTip,DataPrimeiInmatr,IdModel)

    (note tab1 dans ma requete)


    IdAuto c'est cle primaire dans tab1

    Tableau 2: FAZ_NomModel(IdModel,IdMarca,IdTip,Model) -tab2 (ou Model est le champ qui represente le modele de la voiture par example MEGANE, ou IdModel est cle primaire

    Tableau 3: FAZ_NomMarca(IdMarca,Marca,IdTipMarca,IdBrand) (note tab3 dans ma requete) ou IdMarca est cle primaire est le champ Marca represent le nom de la voiture par example RENAULT.

    Je veux faire avec COUNT le nombre des voitures RENAULT-MEGANE qui ont l'annee de fabrication =2008 donc le champ de l'annee de fabrication est DataPrimeiInmatr qui se trouve dans tableau1 FAZ_Automobile.

    Voila ma requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT tab1.IdAuto,tab1.IdMarca,tab1.IdTip,tab1.IdModel,tab3.Marca,tab2.Model,x.NumarMasini
    FROM FAZ_Automobile tab1
    left join FAZ_NomModel tab2 on tab2.IdModel =  tab1.IdModel
    left join
    (SELECT IdMarca, COUNT(IdMarca) AS NumarMasini
    FROM FAZ_NomMarca
    WHERE tab3.Marca ='RENAULT' AND tab2.Model='MEGANE' AND YEAR(tab1.DataPrimeiInmatr) = 2008
    GROUP BY IdMarca
    )x on x.IdMarca = tab3.IdMarca
    left join FAZ_NomMarca tab3 on tab3.IdTipMarca =tab2.IdTip
    L'alias NumarMasini represent le nombre des voitures.

    Je veux faire le count des voitures RENAULT MEGANE qui ont l'annee de fabrication =2008(Requete)

    Erreurs obtenues en lancant ma requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Msg 4104, Level 16, State 1, Line 1
    The multi-part identifier "tab3.Marca" could not be bound.
    Msg 4104, Level 16, State 1, Line 1
    The multi-part identifier "tab2.Model" could not be bound.
    Msg 4104, Level 16, State 1, Line 1
    The multi-part identifier "tab1.DataPrimeiInmatr" could not be bound.
    Msg 4104, Level 16, State 1, Line 1
    The multi-part identifier "tab3.IdMarca" could not be bound.

  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 999
    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 999
    Billets dans le blog
    6
    Par défaut
    C'est logique vous faites référence dans la table dérivée à des colonnes externe qui ne sont pas connues.

    Commencez par mieux nous expliquez ce que vous souhaitez notemment en respectant la charte de postage en postant le DDL de vos tables et un jeu d'essais...

    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 éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    C'est logique vous faites référence dans la table dérivée à des colonnes externe qui ne sont pas connues.

    Commencez par mieux nous expliquez ce que vous souhaitez notemment en respectant la charte de postage en postant le DDL de vos tables et un jeu d'essais...

    A +
    Je ne peux pas poster la structure des basees des donnes la companie ne me permet pas de les distribuer. J'ai liste au-dessus la structure des mes 3 tables et champs.

    La requete que je desire c'est:

    Je veux faire le count des voitures RENAULT MEGANE qui ont l'annee de fabrication =2008(Requete)

    A partir de la structure des mes 3 tables definis au-dessus.

    C'est resolu! Merci en tous cas!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT tab3.Marca,tab2.Model, COUNT(*) AS NumarMasini
    FROM FAZ_Automobile tab1
    left join FAZ_NomModel tab2 on tab2.IdModel =  tab1.IdModel
    left join FAZ_NomMarca tab3 on tab3.IdMarca =tab1.IdMarca
    WHERE --tab3.Marca ='Dacia' AND tab2.Model='Logan' AND 
    		YEAR(tab1.DataPrimeiInmatr) = 2008
    GROUP BY tab2.Model,tab3.Marca

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

Discussions similaires

  1. Requete pour plusieurs tables
    Par FredericB dans le forum Requêtes
    Réponses: 6
    Dernier message: 21/10/2010, 23h07
  2. Requete pour importation table Excel vers SQL
    Par Cakyas dans le forum Développement
    Réponses: 8
    Dernier message: 03/07/2008, 15h59
  3. Probleme de requete pour remplir les champs d'une table
    Par Jim_Nastiq dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/04/2006, 14h56
  4. Requete pour comparer tables sur 2 schemas
    Par Kannuki dans le forum Oracle
    Réponses: 28
    Dernier message: 09/02/2006, 14h40
  5. aide pour requete sur 2 tables avec clé étranere
    Par richton95 dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/12/2005, 13h32

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