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 :

requête sql probleme doublons


Sujet :

Langage SQL

  1. #1
    Invité
    Invité(e)
    Par défaut requête sql probleme doublons
    Bonsoir,
    ayant fais plusieurs essaie avec ma requête cette dernière me donne des doublon or j'en veux qu'un résultat différent pour chaque ligne. j'ai utiliser le select distinct et aussi de jointures mais rien n'y fais.. comment faire svp

    voici le sql de ma base

    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
     
    -- Structure de la table `Villa`
     
    CREATE TABLE IF NOT EXISTS `Villa` (
      `NoVilla` int(11) NOT NULL auto_increment,
      `RueVilla` varchar(50) default NULL,
      `CPVilla` varchar(5) default NULL,
      `VilleVilla` varchar(30) default NULL,
      `NbPlaces` smallint(6) default NULL,
      `NbChambres` smallint(6) default NULL,
      `Surface` smallint(6) default NULL,
      `Jardin` tinyint(1) default NULL,
      `Prix` decimal(19,4) default NULL,
      `CdBailleur` varchar(8) default NULL,
      PRIMARY KEY  (`NoVilla`),
      KEY `CdBailleur` (`CdBailleur`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;
     
    --
    -- Contenu de la table `Villa`
    --
     
    INSERT INTO `Villa` (`NoVilla`, `RueVilla`, `CPVilla`, `VilleVilla`, `NbPlaces`, `NbChambres`, `Surface`, `Jardin`, `Prix`, `CdBailleur`) VALUES
    (1, '15 chemin du Torgan', '11350', 'Padern', 5, 2, 90, 1, 350.0000, 'major'),
    (2, '7 rue du Confluent', '11350', 'Padern', 4, 2, 70, 1, 300.0000, 'lassie'),
    (3, '8 passage des Jardins', '11350', 'Padern', 4, 2, 65, 0, 300.0000, 'marty'),
    (4, '4 rue du Verdouble', '11350', 'Padern', 4, 2, 60, 1, 300.0000, 'marty'),
    (5, '12 rue Sainte Cécile', '11350', 'Padern', 6, 3, 90, 1, 400.0000, 'puj'),
     
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table ``
    --
     
    CREATE TABLE IF NOT EXISTS `Bailleur` (
      `CdBailleur` varchar(8) NOT NULL,
      `NomBailleur` varchar(30) default NULL,
      `RueBailleur` varchar(50) default NULL,
      `CPBailleur` varchar(5) default NULL,
      `VilleBailleur` varchar(30) default NULL,
      `TelBailleur` varchar(20) default NULL,
      `MelBailleur` varchar(30) default NULL,
      PRIMARY KEY  (`CdBailleur`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
     
    --
    -- Contenu de la table `Bailleur`
    --
     
    INSERT INTO `Bailleur` (`CdBailleur`, `NomBailleur`, `RueBailleur`, `CPBailleur`, `VilleBailleur`, `TelBailleur`, `MelBailleur`) VALUES
    ('marty', 'Marty', ' Jardins', '11350', 'Padern', '04 00 00 00 00', '@wanadoo.fr'),
    ('lassie', 'McTavish', 'Confluent', '11350', 'Padern', '04 00 00 00 00', '@wanadoo.fr'),
    ('caussa', 'Caussade', 'Padern', '11350', 'Cucugnan', '04 00 00 00 00', '@wanadoo.fr'),
    ('petit', 'Legrand', 'Pont', '11350', 'Tuchan', '04 00 00 00 00', '@wanadoo.fr'),
    ('kirst', 'Asch', 'Artisans', '11350', 'Tuchan', '04 00 00 00 00', '@wanadoo.fr'),
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `RESERVATION`
    --
     
    CREATE TABLE IF NOT EXISTS `RESERVATION` (
      `NoRes` int(11) NOT NULL auto_increment,
      `DateResDeb` datetime default NULL,
      `numsemaine` smallint(6) default NULL,
      `NoVilla` int(11) default NULL,
      PRIMARY KEY  (`NoRes`),
      KEY `NoVilla` (`NoVilla`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=31 ;
     
    --
    -- Contenu de la table `RESERVATION`
    --
     
    INSERT INTO `RESERVATION` (`NoRes`, `DateResDeb`, `numsemaine`, `NoVilla`) VALUES
    (1, '2008-06-02 00:00:00', 23, 1),
    (2, '2008-06-02 00:00:00', 23, 2),
    (3, '2008-06-02 00:00:00', 23, 3),
    (4, '2008-06-02 00:00:00', 23, 6),
    (5, '2008-06-02 00:00:00', 23, 7),
    (6, '2008-06-02 00:00:00', 23, 8),
    (7, '2008-06-02 00:00:00', 23, 9),
    (8, '2008-06-02 00:00:00', 23, 10),
    (9, '2008-06-02 00:00:00', 23, 14),
    (10, '2008-06-02 00:00:00', 23, 15),
    (11, '2008-06-09 00:00:00', 24, 2),
    (12, '2008-06-09 00:00:00', 24, 7),
    (13, '2008-06-09 00:00:00', 24, 9),
    (14, '2008-06-09 00:00:00', 24, 10),
    (15, '2008-06-09 00:00:00', 24, 13),
    (16, '2008-06-09 00:00:00', 24, 15),
    (17, '2008-06-16 00:00:00', 25, 1),
    (18, '2008-06-16 00:00:00', 25, 2),
    (19, '2008-06-16 00:00:00', 25, 6),
    (20, '2008-06-16 00:00:00', 25, 7),
    (21, '2008-06-16 00:00:00', 25, 9),
    (22, '2008-06-16 00:00:00', 25, 10),
    (23, '2008-06-16 00:00:00', 25, 13),
    (24, '2008-06-16 00:00:00', 25, 8),
    (25, '2008-06-23 00:00:00', 26, 1),
    (26, '2008-06-23 00:00:00', 26, 3),
    (27, '2008-06-23 00:00:00', 26, 7),
    (28, '2008-06-23 00:00:00', 26, 8),
    (29, '2008-06-23 00:00:00', 26, 14),
    (30, '2008-06-23 00:00:00', 26, 15);
    ce problème concerne la recherche sur la ville padern et les autres...

    je vous remercie par avance.

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 102
    Points : 31 545
    Points
    31 545
    Billets dans le blog
    16
    Par défaut
    ayant fais plusieurs essaie avec ma requête cette dernière me donne des doublon or j'en veux qu'un résultat différent pour chaque ligne
    Où est cette requête ? Merci en outre de fournir un exemple de résultat attendu et un exemple de résultat obtenu.

  3. #3
    Invité
    Invité(e)
    Par défaut
    bonjour,
    voici la forme sous la quelle je voudrais mais résultat...
    le premier (Présentation de la Villa) tableau étant le résultat de la requête
    et le reste remplie en fonction du résultat mais venant de la table bailleur et réservation le souci c'est que j'obtiens des doublons...
    je vous remercie par avance

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 102
    Points : 31 545
    Points
    31 545
    Billets dans le blog
    16
    Par défaut
    Bonjour


    Commencez par injecter des contraintes d’intégrité référentielle pour assurer une certaine cohérence entre les tables.
    Ainsi, la villa du 15 chemin de la Torgan n’a pas de propriétaire, ça fait désordre et c'est un truc à ficher une entreprise en l'air (ça s'est vu).

    Concernant le prix de la villa selon la saison, vous n’avez pas fourni les éléments, donc, en l’état, il n’y a rien à afficher.

    Pour afficher les données relatives à la villa située au 15 chemin de la Torgan :

    Présentation de la villa
    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
    Select ' ' As 'Présentation de la villa'
       , NoVilla
       , RueVilla AS Rue
       , CPVilla AS CP
       , VilleVilla AS Ville
       , NbPlaces, NbChambres
       , Surface
       , CASE Jardin 
                 WHEN  1 THEN 'Oui'
                 ELSE         'Non'
         END
         AS Jardin
    From   Villa
    Where  RueVilla = 15 chemin de la Torgan' ;
    Propriétaire de la villa

    Il est nécessaire d’effectuer une jointure entre les tables Villa et Bailleur, afin de ne récupérer que les données relatives au couple {villa, bailleur} et de continuer à filtrer sur la villa (clause Where) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Select ' ' As 'Propriétaire de la villa'
         , NomBailleur AS Nom
         , RueBailleur AS Rue
         , CPBailleur AS CP
         , VilleBailleur AS Ville
         , TelBailleur AS Tel
         , MelBailleur AS Mel
    From   Bailleur Inner Join Villa On  Bailleur.CdBailleur = Villa.CdBailleur 
    Where  Villa.RueVilla = '15 chemin de la Torgan'  ; 
    Occupation de la villa

    Jointure et filtre , comme ci-dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Select ' ' As 'Occupation de la villa'
         , NoRes AS 'N° réservation'
         , numsemaine AS 'N° semaine'
         , DateResDeb AS Début 
    From   Reservation Inner Join Villa On Reservation.NoVilla = Villa.NoVilla
    Where  Villa.RueVilla = 15 chemin de la Torgan' 

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci a toi. cela marche désormais. bonne après midi.

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

Discussions similaires

  1. Problème de requête SQL (Quasi doublons)
    Par easysoftoran dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/01/2015, 10h42
  2. Réponses: 0
    Dernier message: 14/04/2010, 13h36
  3. Requête SQL avec doublon
    Par pierrot53 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/10/2009, 21h48
  4. Requête SQL : Probleme de AND
    Par Seb981 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 28/08/2007, 11h04
  5. [Requête/SQL]Probleme fonction compte
    Par choupi2a dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 21/04/2007, 06h04

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