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 :

UNION


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Par défaut UNION
    Salut,

    Je cherche à écrire une requête mais je ne sais si c'est possible. Explications:

    Je bosse sur un projet de gestion de flotte de véhicules. Toutes les x minutes la position gps d'un véhicule est insérée dans la base de données (mySQL). Je dois réaliser des rapports hebdomadaire à partir ce ces données.

    Dans le but d'accélerer les traitements, les infos de chaques mois sont stockées dans des tables différentes: ex. 04_01_rapport, 04_02_rapport...
    pour les mois de janvier et février 2004.
    Donc quand une semaine est à cheval sur 2 mois j'ai des petits soucis...
    Est-il possible de faire une requete du style (mais qui marche )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT gps_date, gps_heure, compteur, y, x, lieu 
    FROM 04_02_rapport, 04_01_rapport
    WHERE gps_date>='20040126' AND gps_date<='20040201' AND idvehicule=13
    afin d'obtenir les enregistrements comme si ils faisaient parite de la meme table. Vous voyez ce que je veux dire ?

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT gps_date, gps_heure, compteur, y, x, lieu 
    FROM 04_02_rapport
    WHERE gps_date>='20040126' AND gps_date<='20040201' AND idvehicule=13
    UNION ALL
    SELECT gps_date, gps_heure, compteur, y, x, lieu 
    FROM 04_01_rapport 
    WHERE gps_date>='20040126' AND gps_date<='20040201' AND idvehicule=13

  3. #3
    Membre confirmé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Par défaut
    Après un petit tour sur la doc de mysql UNION est exactment ce dont j'ai besoin, merci !
    Par contre en exécutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT gps_date, gps_heure, compteur, y, x, lieu
    FROM 04_01_rapport
    WHERE gps_date>='20040126' AND idvehicule=13
    UNION ALL
    (SELECT gps_date, gps_heure, compteur, y, x, lieu
    FROM 04_02_rapport
    WHERE gps_date<='20040201' AND idvehicule=13)
    mysql me renvoit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #1064 - You have an error in your SQL syntax near 'UNION  ALL ( 
    SELECT gps_date, gps_heure, compteur, y, x, lieu
    FROM 04_02_rappor' at line 4
    Le plus bizarre c'erst que les 2 requetes executées indépendament fonctionnent

  4. #4
    Membre confirmé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 120
    Par défaut
    Bon j'ai trouvé d'où ça vient.
    Citation Envoyé par Documentation MySQL
    UNION est implémentée en MySQL 4.0.0.
    Version utilisée: 3.23.58

    Un gars propose une alternative dans les commentaires des utlisateurs sur le site de MySQL en créant une table temporaire .
    Quelqu'un a déjà essayé ça ?

    Edit: je vais installer MySQL 4.0 ça sera plus simple

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

Discussions similaires

  1. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 12h02
  2. [ODBC] erreur SQL pour les unions qui renvoient vide
    Par fabriceMerc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/11/2003, 12h06
  3. UNION et COUNT(*)
    Par Goldust dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/08/2003, 10h30
  4. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 11h04
  5. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 21h22

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