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

Langage SQL Discussion :

Une requete Sql au lieu de trois vues


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Par défaut Une requete Sql au lieu de trois vues
    Bonjour à tous.
    j'ai un probleme de realisation d'une requete.

    cette requette doit donner le résultat final identique a celle du vue 3 cité au dessous.

    Vue 3: resultat final
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [requete impaye].CG_INTITULE, [requete impaye].DO_PIECE, [requete impaye].DO_DATE, [requete impaye].FNT_TOTALTTC, [requete impaye].Expr1, [requete impaye].Expr4, [requete impaye].CG_NUM, IIf(Left([DO_PIECE],2)="BR",-[expr4],[expr4]) AS Expr5, IIf(Left([DO_PIECE],2)="BR",-[fnt_totalttc],[fnt_totalttc]) AS expr6
    FROM [requete impaye]
    WHERE ((([requete impaye].Expr4) Is Not Null) AND ((IIf(Left([DO_PIECE],2)="BR",-[expr4],[expr4])) Is Not Null));
    vue 2[requete impaye]: utiliser par le vue 3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT F_DOCENTETE.CG_NUM, F_DOCENTETE.DO_PIECE, F_COMPTEG.CG_INTITULE, F_DOCENTETE.FNT_TOTALTTC, ZZ.[Somme De RC_MONTANT], IIf(IsNull([Somme De RC_MONTANT]),0,[Somme De RC_MONTANT]) AS Expr1, Sum(IIf(IsNull([Somme De RC_MONTANT]),[FNT_TOTALTTC],([FNT_TOTALTTC]-[Somme De RC_MONTANT]))) AS Expr2, IIf([Expr2]>0.1,[Expr2],[Expr2]) AS Expr3, F_DOCENTETE.DO_DATE, IIf([Expr3]=0,Null,[Expr3]) AS Expr4
    FROM (SELECT DISTINCT F_REGLECH.DO_PIECE, Sum(F_REGLECH.RC_MONTANT) AS [Somme De RC_MONTANT]
    FROM F_REGLECH
    GROUP BY F_REGLECH.DO_PIECE) as "ZZ" RIGHT JOIN (F_DOCENTETE INNER JOIN F_COMPTEG ON F_DOCENTETE.CG_NUM = F_COMPTEG.CG_NUM) ON ZZ.DO_PIECE = F_DOCENTETE.DO_PIECE
    GROUP BY F_DOCENTETE.CG_NUM, F_DOCENTETE.DO_PIECE, F_COMPTEG.CG_INTITULE, F_DOCENTETE.FNT_TOTALTTC, ZZ.[Somme De RC_MONTANT], F_DOCENTETE.DO_DATE
    HAVING (((F_DOCENTETE.DO_PIECE) Like "FT*" Or (F_DOCENTETE.DO_PIECE) Like "FA*" Or (F_DOCENTETE.DO_PIECE) Like "AV*" Or (F_DOCENTETE.DO_PIECE) Like "BR*"));
    vue 1[ZZ]:utiliser par le vue 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    (SELECT DISTINCTROW F_REGLECH.DO_PIECE, Sum(F_REGLECH.RC_MONTANT) AS [Somme De RC_MONTANT]
    FROM F_REGLECH
    GROUP BY F_REGLECH.DO_PIECE)
    Est il possible de combiner c'est trois vue pour donner le résultat en une seule requette.Parce que je ne peut pas creer des vue avec mon odbc,aussi les tables derivé ne sont pas supporté par ce dernier.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Par défaut
    Logiquement, c'est possible en remontant le script de chaque vue dans la clause FROM de la vue supérieure qui l'utilise, à la manière de ta table [Somme De RC_MONTANT] (qui est en fait une sorte de vue dynamique) utilisée dans ta Vue 2

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Par défaut
    Merci pour votre aide dgi77. mais la clause select dans le From n'est pas autorisé par l'odbc que je l'utilise.
    la requette de type :
    select * from (select x,y from matable)
    ne fonctionne plus.

  4. #4
    Membre chevronné Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Par défaut
    Citation Envoyé par ensi7 Voir le message
    Merci pour votre aide dgi77. mais la clause select dans le From n'est pas autorisé par l'odbc que je l'utilise.
    la requette de type :
    select * from (select x,y from matable)
    ne fonctionne plus.
    Tu as quand même bien utilisé cette construction pour la vue 2 ? Quelle est la différence ?

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Par défaut
    Ces vues sont créé sous une base Access est la clause :
    select * from (select x,y from matable) fonctionne parfaitement.
    Mais je veut utiliser la requette directement sur la base du Gestion commerciale 100 qui n'autorise pas la creation des vues et l'ODBC ne gere pas ce type de requete.
    je pense que c'est impossible de créé cette requette sans utilisé une Select dans la clause From.
    Merci pour votre attention AL1986.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Par défaut
    Peut-être, mais on ne sait toujours pas comment tu as fais pour faire un SELECT dans la clause FROM de ta Vue 2 [Somme De RC_MONTANT] ???

Discussions similaires

  1. pb d'execution d'une requete sql
    Par pit9.76 dans le forum Bases de données
    Réponses: 2
    Dernier message: 26/06/2004, 12h03
  2. Réponses: 2
    Dernier message: 03/05/2004, 12h13
  3. date d'une requete sql
    Par innosang dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/04/2004, 09h27
  4. Mettre a jour les Parametres dans une requete SQL
    Par Tartar Ukid dans le forum C++Builder
    Réponses: 7
    Dernier message: 31/03/2004, 13h51
  5. Une requete SQL unpeux difficile !!
    Par nil dans le forum Bases de données
    Réponses: 5
    Dernier message: 09/03/2004, 12h32

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