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

IHM Discussion :

Comment mettre des informations issues de 2 requêtes dans un même état


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 55
    Points : 31
    Points
    31
    Par défaut Comment mettre des informations issues de 2 requêtes dans un même état
    Bonjour,

    Je voudrais savoir s'il est possible de mettre dans le même état des données issues de 2 requêtes SQL

    Si oui Quelle est la démarche à suivre

    Pouvez vous par ailleurs m'expliquez comment mettre en forme mon état je voudrais disposez d'un côté des informations générales de la base de l'autre des informations liées à la périodes que j'ai sélectionnées.

    Je mets mes 2 requêtes au cas ou


    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    SELECT "4 Total base nb de courriers C1 envoyés" AS TRAITEMENT, count(*) AS TOTAL
    FROM [SURVEILLANCE CPTES]
    WHERE [C1]=Yes
     
    UNION ALL
     
    SELECT "5 Total based nb de courriers C2 envoyés" AS TRAITEMENT, count(*) AS TOTAL 
    FROM [SURVEILLANCE CPTES] 
    WHERE [C2]=Yes
     
    UNION ALL
     
    SELECT "8 Total base nb de dossiers CLASSES" AS TRAITEMENT, count(*) AS TOTAL
    FROM [SURVEILLANCE CPTES] 
    WHERE [Justifié]=Yes
     
    UNION ALL
     
    SELECT "6 Total base nb de courriers CLOTURE envoyés" AS TRAITEMENT, count(*) AS TOTAL 
    FROM [SURVEILLANCE CPTES] 
    WHERE [Clôture]=Yes
     
    UNION ALL
     
    SELECT "9* Total base nb de dossiers REOUVERTS" AS TRAITEMENT, count(*) AS TOTAL
    FROM [SURVEILLANCE CPTES] 
    WHERE [Réouvert]=Yes
     
    UNION ALL
     
    SELECT "9 Total base nb de dossiers DEROGES" AS TRAITEMENT, count(*) AS TOTAL
    FROM [SURVEILLANCE CPTES] 
    WHERE [Dérogation]=Yes
     
    UNION ALL
     
    SELECT "7 Total base nb de COMPTES CLOTURES" AS TYRAITEMENT, count(*) AS TOTAL 
    FROM [SURVEILLANCE CPTES] 
    WHERE [Clôture effective]=Yes
     
    UNION ALL 
     
    SELECT "2 Total base nb de TRAITEMENT " AS TRAITEMENT, Count(*) AS TOTAL
    FROM [SURVEILLANCE CPTES]
    WHERE [Date de traîtement]
     
     
    UNION ALL 
     
    SELECT "3 Ensemble dossiers NON TRAITES" AS TRAITEMENT, count(*) AS TOTAL
    FROM [SURVEILLANCE CPTES]
    WHERE [Date de traîtement] IS NULL
    GROUP BY [Date de traîtement]
     
    UNION ALL SELECT "1 Ensemble DOSSIERS dans la base" AS TRAITEMENT, Count([SURVEILLANCE CPTES].Sociétaire) AS TOTAL
    FROM [SURVEILLANCE CPTES]
    HAVING (((Count([SURVEILLANCE CPTES].Sociétaire)) Is Not Null));
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    SELECT "2 Nb  courriers C1 envoyés", count(*) AS NB_OUI 
    FROM [SURVEILLANCE CPTES]
    WHERE [C1]=Yes 
    HAVING (([SURVEILLANCE CPTES].[Date envoi C1]) Between [Début] And [Fin])
     
    UNION ALL
     
     
    SELECT "3 Nb de courriers C2 envoyés", count(*) AS NB_OUI 
    FROM [SURVEILLANCE CPTES] 
    WHERE [C2]=Yes
    HAVING (([SURVEILLANCE CPTES].[Date envoi C2]) Between [Début] And [Fin])
     
     
    UNION ALL
     
    SELECT "7 Nb de dossiers CLASSES", count(*) AS NB_OUI 
    FROM [SURVEILLANCE CPTES] 
    WHERE [Justifié]=Yes
    HAVING (([SURVEILLANCE CPTES].[Date justification]) Between [Début] And [Fin])
     
     
    UNION ALL
     
    SELECT "4 Nb de courriers CLOTURE envoyés", count(*) AS NB_OUI 
    FROM [SURVEILLANCE CPTES] 
    WHERE [Clôture]=Yes
    HAVING (([SURVEILLANCE CPTES].[Date de clôture]) Between [Début] And [Fin])
     
    UNION ALL
     
    SELECT "8 Nb de dossiers REOUVERTS", count(*) AS NB_OUI 
    FROM [SURVEILLANCE CPTES] 
    WHERE [Réouvert]=Yes
    HAVING (([SURVEILLANCE CPTES].[Date de réouverture]) Between [Début] And [Fin])
     
    UNION ALL
     
    SELECT "6 Nb de dossiers DEROGES", count(*) AS NB_OUI 
    FROM [SURVEILLANCE CPTES] 
    WHERE [Dérogation]=Yes
    HAVING (([SURVEILLANCE CPTES].[Date de dérogation]) Between [Début] And [Fin])
     
    UNION
     
     
    SELECT "1 Total base de TRAITEMENT sur la période " AS PERIODE, Count(*) AS NB_OUI
    FROM [SURVEILLANCE CPTES]
    WHERE ((([SURVEILLANCE CPTES].[Date de traîtement]) Between [Début] And [Fin]))
     
     
    UNION ALL SELECT "5 Nb  de COMPTES CLOTURES", count(*) AS NB_OUI 
    FROM [SURVEILLANCE CPTES] 
    WHERE [Clôture effective]=Yes
    HAVING (([SURVEILLANCE CPTES].[Date dérogation après clôture]) Between [Début] And [Fin]);
    Merci par avance pour votre aide

  2. #2
    Membre éclairé
    Avatar de marabout
    Homme Profil pro
    Consultant E-Learning
    Inscrit en
    Août 2006
    Messages
    650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant E-Learning

    Informations forums :
    Inscription : Août 2006
    Messages : 650
    Points : 852
    Points
    852
    Par défaut
    A première vue tu peux même faire un UNION des deux requêtes...

    D'autre part, tu as beaucoup de count() là-dedans... Ne serait-ce pas possible de faire des regroupements dans ton état ?

    Enfin, plus généralement, je crois que c'est difficilement possible sauf à avoir un Etat et des sous-états mais il faut un rapport de subordination entre la requête principale et les sous-requêtes

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 55
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par marabout
    A première vue tu peux même faire un UNION des deux requêtes...

    D'autre part, tu as beaucoup de count() là-dedans... Ne serait-ce pas possible de faire des regroupements dans ton état ?

    Enfin, plus généralement, je crois que c'est difficilement possible sauf à avoir un Etat et des sous-états mais il faut un rapport de subordination entre la requête principale et les sous-requêtes
    Je change légèrement de sujet.... Est-ce que tu sais par hasard comment mettre dans l'ordre souhaité des informations..... Comme tu peux le remarquer sur ma requête ci-dessous je me retrouve à mettre des 1 2 3 4 5 etc.

  4. #4
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Je n'ai pas saisie ta question.

    A+

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    rajoute 1..n as ordre dans les sous requêtes et dans la requête finale demande le tri
    rajoute "période" ou "total" as agrégat dans les deux requêtes
    unifie les deux requêtes

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 55
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par soltani1
    Bonjour,

    Je n'ai pas saisie ta question.

    A+

    Je demande tout simplement s'il est possible de créer un état qui serait alimenté part de 2 requêtes. Les miennes sont en SQL je ne pense pas que cela à une importance mais au cas ou je précise .....

    Si tu as une solution je prends pcq pour le moment je n'y arrive pas

    ________________________________________________________________

    Tout à l'heure j'ai fait un essai en transformant ma requête en table mais quand je vais dans l'assitant de création d'état le nouvelle table n'apparaît pas ? T'as peut être là aussi une explication parce que c'est étrange

  7. #7
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Ton idée est bonne, moi aussi des fois je crée une table qui sera alimenter par des requêtes sql.
    Tu fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Insert into matable (champ1,champ2)
    select champ1,champ2 from ...
    à condition que matable est déjà crée.

    A+

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 55
    Points : 31
    Points
    31
    Par défaut Re
    Citation Envoyé par soltani1
    Bonjour,

    Ton idée est bonne, moi aussi des fois je crée une table qui sera alimenter par des requêtes sql.
    Tu fait :
    Insert into matable (champ1,champ2)
    select champ1,champ2 from ...

    à condition que matable est déjà crée.

    A+

    Je vais tester pour voir si ça rend ma geste de l'info plus souple

    donc dans ma requête SQl je commence par


    INSERT INTO NOM DE LA TABLE et des CHAMPS
    et ensuite je mets
    SELECT PLUS MON BLABLA

  9. #9
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour lea,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    insert into matable (champ1,champ2)
    select champ1,champ2 from table1
    est une seule instruction.

    A+

Discussions similaires

  1. Comment mettre du modifiable et du non modifiable dans le même div?
    Par ruza01 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 11/09/2009, 16h36
  2. Réponses: 1
    Dernier message: 01/07/2009, 16h43
  3. Mettre 2 requêtes dans 1 même état
    Par Boubas1 dans le forum IHM
    Réponses: 14
    Dernier message: 17/01/2008, 16h43
  4. [FPDF] Mettre des données issues d'une requête dans l'entête
    Par zoom61 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 30/03/2007, 10h10
  5. Réponses: 3
    Dernier message: 06/02/2007, 11h04

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