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 :

[SQL Server2000] Jointure et vue


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut [SQL Server2000] Jointure et vue
    Bonjour,

    Une petite question :

    Voila, nous avons créé une vue (CREATE VIEW AS) sur le serveur SQL.
    La base est liée sous access 2000.

    Lorsque j'exécute mes requêtes uniquement avec la table résultante du CREATE VIEW, pas de souci.

    Par contre si je joins une autre table à ma table résultante, la c'est la catastrophe, les résultat sont complétement délirants, voir nul ("0") si je fais 2jointures.

    J'ai pas trouvé grand chose sur les tutoriels ou les cours (Peut-être une mauvaise recherche ???). Bref si quelqu'un pouvait m'expliquer !!!
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  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
    Sans le code de vos vues et requêtes difficile de vous aider.

    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
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Désolé :

    Pour la vue = (Elle rassemble les tables les plus utilisées pour l'ensemble des requêtes)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Create view Vue_test
     
    AS
     
    SELECT     *
    FROM         T1 INNER JOIN T2 
                               ON T1.ID_C= T2.ID_C 
                                    INNER JOIN T3 
                                          ON T2.ID_D1 = T3.ID_D1 
                                          AND T2.ID_D2 = T3.ID_D2 
                                                INNER JOIN T4 
                                                      ON T2.ID_E = T4.ID_E 
                                                          LEFT OUTER JOIN T5
                                                               ON T2.ID_F1 = T5.ID_F1 
                                                               AND T2.ID_A = T5.ID_A ;
    Pour la requête =

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    SELECT Vue_test.ID_A, 
           Vue_test.Champs_1, 
           Vue_test.Champs_2, 
           Vue_test.Champs_Date1, 
           Vue_test.Champs_Date2, 
           Vue_test.Champs_3, 
           Vue_test.ID_E, 
           Vue_test.Champs_Date3
     
    FROM Vue_test INNER JOIN Table_X 
                  ON Vue_test.ID_A = Table_X.ID_A
     
    WHERE Vue_test.ID_A Not In 
                             (SELECT Table_X.ID_A FROM Table_X) 
      AND Vue_test.ID_E Is Null 
      AND Vue_test.Champs_Date3 Is Null
    ;
    Dès lors que je fait une jointure à la vue, des enregistrements disparaissent !!!
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  4. #4
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Après avoir fais pas mal de test, je pense tout simplement que la vue doit correspondre au besoin d'une requête, et donc il faudrait créer autant de vue que de requête ou presque...

    Le fait de travailler sur cette vue, chaque colonne de chaque table restent concernées dans les requêtes, donc doublons...

    Non !
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



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

Discussions similaires

  1. Jointure sql Oracle pour une vue
    Par KRis dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/01/2014, 12h03
  2. [sql server2000 ed developpeur) Erreur entreprise manager
    Par GéniuS77 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 26/05/2008, 08h02
  3. Connection a une BD SQL SERVER2000 ????
    Par pop bob dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/08/2005, 16h41
  4. Forcer date, heure et seconde sous sql server2000
    Par sorel dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/05/2005, 18h49
  5. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 16h10

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