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

Requêtes MySQL Discussion :

Problème de jointure externe


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 107
    Points : 56
    Points
    56
    Par défaut Problème de jointure externe
    Bonjour,

    j'ai 2 tables, une voiture et une location.

    Structure de la table `location`
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    -- 
     
    CREATE TABLE `location` (
      `location_id` int(11) NOT NULL auto_increment,
      `location_fk_voiture` int(11) NOT NULL,
      `location_fk_client` int(11) NOT NULL,
      `location_date_debut` varchar(12) NOT NULL,
      `location_date_fin` varchar(12) NOT NULL,
      PRIMARY KEY  (`location_id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
     
    --
    -- Contenu de la table `location`
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    -- 
     
    INSERT INTO `location` (`location_id`, `location_fk_voiture`, `location_fk_client`, `location_date_debut`, `location_date_fin`) VALUES 
    (1, 6, 1, '2009-05-01', '2009-05-15');
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `voiture`
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    -- 
     
    CREATE TABLE `voiture` (
      `id` int(11) NOT NULL auto_increment,
      `marque` varchar(50) NOT NULL,
      `modele` varchar(50) NOT NULL,
      `type` varchar(20) NOT NULL,
      `immatriculation` varchar(10) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
     
    --
    -- Contenu de la table `voiture`
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    -- 
     
    INSERT INTO `voiture` (`id`, `marque`, `modele`, `type`, `immatriculation`) VALUES 
    (1, 'audi', 'tt', 'coupe', '123-abc'),
    (2, 'fiat', 'uno', 'mini', '321-aze'),
    (3, 'fiat', 'marea', 'break', '147-poi'),
    (4, 'renault', 'twingo', 'mini', 'uyt-987'),
    (5, 'vw', 'polo', 'mini', '945-lst'),
    (6, 'ford', 'transit', 'utilitaire', '159-poi');
    J'aimerais faire une requete qui me donne les voitures disponible entre 2 dates et les voitures pour lesquelles il n'y a pas de location.
    J'ai essaié ceci mais quand je fais l'echo des champs location_date_debut et location_date_fin il n'y a rien alors que dans la db il y a bien quelque chose et que j'ai fait un select de la table location et il m'affiche bien tous les champs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT DISTINCT id, marque, modele, type, immatriculation 
    FROM voiture 
    LEFT OUTER JOIN (
        SELECT * 
        FROM location 
        WHERE location_date_debut > '".dateFin."' 
          OR location_date_fin < '".dateDebut."'
    ) location ON id = location_fk_voiture
    Merci

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 035
    Points
    34 035
    Billets dans le blog
    14
    Par défaut
    Il y a des variables provenant du langage de programmation dans la requête. On pourrait avoir un echo de la requête réellement générée et envoyée au serveur ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Problème avec jointure externe
    Par illight dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/04/2008, 12h23
  2. Réponses: 10
    Dernier message: 25/01/2008, 16h24
  3. Réponses: 24
    Dernier message: 24/07/2007, 17h48
  4. Problème de jointure externe
    Par Loko dans le forum Langage SQL
    Réponses: 15
    Dernier message: 24/07/2007, 12h04
  5. Problème de Jointure externe
    Par major2 dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/07/2007, 17h58

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