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 :

[Access 97] plusieurs sous requetes dans requetes!!!


Sujet :

Langage SQL

  1. #1
    Membre du Club Avatar de T'chab
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 94
    Points : 57
    Points
    57
    Par défaut [Access 97] plusieurs sous requetes dans requetes!!!
    bonjour à tous

    j'ai pas mal de souci sur mes requetes. et c'est pas facile à expliquer.
    je develloppe une base de donnée pour une société de transport!!!
    sur le theme de la gestion des véhicule.
    je souhaite obtenir une conso moyenne par véhicule.. la tâche parait facile mais......à mon niveau, c'est de l'arrachage de cheveux.

    explication: j'ai réalisé une requete sql pour faire ressortir un kilométrage de chaque véhicule au début de la période recherché!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    SELECT [DISTRIBUTION CARBURANT].Id_véhicule, 
    Max([DISTRIBUTION CARBURANT].[Kilométrage véhicule]) AS [MaxDeKilométrage véhicule]
    FROM [DISTRIBUTION CARBURANT], [consommation véhicule]
    WHERE ((([DISTRIBUTION CARBURANT].[Date de distribution])=(select  max([DISTRIBUTION CARBURANT].[Date de distribution])  FROM  [DISTRIBUTION CARBURANT]   WHERE  [DISTRIBUTION CARBURANT].Id_véhicule=[consommation véhicule].Id_véhicule AND [DISTRIBUTION CARBURANT].[Date de distribution]<04/01/2006)))
    GROUP BY [DISTRIBUTION CARBURANT].Id_véhicule;
    tout va bien, ca fonctionne, mais comment l'inclure dans une autre requete qui comporte déjà le code qui suit???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SELECT [consommation véhicule].[Id_véhicule],
     [consommation véhicule ].[Immatriculation], 
    [consommation véhicule ].[Parc],
     Count([consommation véhicule ].[Kilométrage véhicule]) AS [Nombre réappro],
    Min([consommation véhicule].[Kilométrage véhicule]) AS [Premier kilométrage], 
    Max([consommation véhicule ].[Kilométrage véhicule]) AS [Dernier kilométrage],
     Sum([consommation véhicule ].[Quantitée corrigée]) AS [Litrage consommé], 
    [Dernier kilométrage]-[Kilométrage M-1] AS [Kilométrage parcouru],
     [Litrage consommé]/[Kilométrage parcouru]*100 AS CONSOMMATION
    FROM [consommation véhicule ], [DISTRIBUTION CARBURANT]
    GROUP BY [consommation véhicule].[Id_véhicule], [consommation véhicule].[Immatriculation], [consommation véhicule].[Parc];

  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 772
    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 772
    Points : 52 737
    Points
    52 737
    Billets dans le blog
    5
    Par défaut
    Extrait du post intitulé : " Important : CONSEILS... à lire AVANT de POSTER ! merci"

    1) Dans la mesure du possible, Veuillez préciser le SGBDR sur lequel vous travaillez. Si hors contexte, mettez "SQL 2" ou "SQL 3" suivant le niveau de norme auquel vous voulez adhérer.

    NOTA : si votre problème est spécifique à un SGBDR particulier (Oracle, IBM DB2, MS SQL Server, Access, PostGreSQL, MySQL...) postez dans le forum approprié. Si vous ne le faites pas vous n'aurez pas beaucoup de réponses...

    2) Indentez vos requêtes en séparant les clause SELECT / FROM / WHERE cela les rend plus lisible pour vous aider.
    Exemple :
    Code :
    SELECT MaColonne
    FROM MaTable MT
    JOIN MonAutreTable MAT
    ON MT.COl1 = LMAT.Col2
    WHERE Col3 = 46
    AND (Col4 BETWEEN 1 AND 5) OR COL4 = 32


    3) Donnez les ordres SQL de création de vos tables (CREATE TABLE) ainsi que les INSERT d'un jeu de données basique afin que tout un chacun puisse reproduire ce que vous voulez faire sur son SGBDR afin de mieux vous aider.
    Exemple :
    Code :
    CREATE TABLE MaTable
    (Col1 VARCHAR(128),
    Col2 INTEGER,
    Col3 DATE,
    Col4 CHAR(32),
    CONSTRAINT PK_MaTable PRIMARY KEY (COL1, COL2))

    INSERT INTO MaTable (COL1, COL2, COL3)
    VALUES ('Un mot', 32, CURRENT_TIMESTAMP)
    INSERT INTO MaTable (COL1, COL2, COL3)
    VALUES ('Deux maux', 0, NULL)


    Tous les SGBDR sont dotés d'un outil permettant d'obtenir au moins le DDL (CREATE...) de vos tables. Exemple avec MS SQL Server 2000 : Entreprise manager, clic droit sur la base, menue toutes les tâches/Générer un script SQL...

    4) présentez le résultat que vous voulez voir apparaître sous la forme d'une table
    Exemple :
    Code :
    -- Le résultat attendu :
    NOM VILLE NOMBRE
    ------ ---------- ------
    MARTIN PARIS 2
    DUPOND STRASBOURG 3
    ...
    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 du Club Avatar de T'chab
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 94
    Points : 57
    Points
    57
    Par défaut
    ok sqlPro bien compris le message pour la rédaction des messages

    je travaille sur microsoft access 1997.

Discussions similaires

  1. Réponses: 7
    Dernier message: 07/01/2010, 20h48
  2. Access et SELECT CASE WHEN dans requetes
    Par Orion01 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/12/2007, 11h24
  3. requete dans requete
    Par Zikriek dans le forum Requêtes
    Réponses: 3
    Dernier message: 15/06/2007, 16h36
  4. [AIX] plusieurs sous-scripts dans un shell
    Par fguigui dans le forum AIX
    Réponses: 4
    Dernier message: 10/04/2007, 11h14
  5. Gérer plusieurs sous état dans un état
    Par oceanediana dans le forum Access
    Réponses: 4
    Dernier message: 24/07/2006, 14h02

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