Bonjour,

Je dispose de 3 tables: 'personne', 'concevoir' et 'album'
les scripts de création sont les suivants:

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
CREATE TABLE IF NOT EXISTS `album` (
  `album_id` int(11) NOT NULL AUTO_INCREMENT,
  `album_nom` varchar(50) DEFAULT NULL,
  `album_genre` smallint(6) DEFAULT NULL,
  `album_creation` smallint(6) DEFAULT NULL,
  `album_prix_Ht` decimal(4,2) DEFAULT NULL,
  `album_qte_stock` smallint(6) DEFAULT NULL,
  PRIMARY KEY (`album_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
 
 
INSERT INTO `album` (`album_id`, `album_nom`, `album_genre`, `album_creation`, `album_prix_Ht`, `album_qte_stock`) VALUES
(1, 'soulville', 2, 1957, '9.99', 50),
(2, 'ben webster and associates', 2, 1961, '11.99', 10),
(3, 'nigerian marketplace', 2, 1981, '9.99', 10),
(4, 'shaft', 5, 1971, '12.99', 10),
(5, 'oscar peterson trio + one', 2, 1964, '12.99', 10);
 
 
CREATE TABLE IF NOT EXISTS `concevoir` (
  `personne_id` int(11) NOT NULL,
  `album_id` int(11) NOT NULL,
  PRIMARY KEY (`personne_id`,`album_id`),
  KEY `FK_concevoir_CD_id` (`album_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
INSERT INTO `concevoir` (`personne_id`, `album_id`) VALUES
(10, 1),
(10, 2),
(8, 3),
(5, 4);
 
CREATE TABLE IF NOT EXISTS `personne` (
  `personne_id` int(11) NOT NULL AUTO_INCREMENT,
  `personne_nom` varchar(50) DEFAULT NULL,
  `personne_prenom` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`personne_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;
 
 
 
INSERT INTO `personne` (`personne_id`, `personne_nom`, `personne_prenom`) VALUES
(1, 'Arlen', 'Harnold'),
(2, 'Edward', 'Frederick'),
(3, 'Ellington', 'Duke'),
(4, 'Hammerstein', 'Oscar'),
(5, 'Hayes', 'Isaac'),
(6, 'Kahn', 'Gus'),
(7, 'Parker', 'Charlie'),
(8, 'Peterson', 'Oscar'),
(9, 'Styne', 'Jule'),
(10, 'Webster', 'Ben'),
(11, 'Youmans', 'Vincent'),
(12, 'Adamson', 'Harold'),
(13, 'Gordon', 'Mack'),
(14, 'Davis', 'Lou'),
(15, 'Clark', 'Terry'),
(16, 'Henning Osted Pedersen', 'Niels');
Je souhaite connaitre les valeurs prises par le champ 'album_nom' de la table 'album' lorsque dans la table 'personne' 'personne_nom' vaut 'Hayes' et 'personne_prenom' vaut 'Isaac'.
J'obtiens l'erreur
subquery returns more than 1 row
dans PHPMyadmin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
select `album_nom` 
	FROM album 
        where `album_id` = (select `album_id`
        	FROM `concevoir` where `personne_id` = (select `personne_id` 
        	FROM `personne` where (`personne_nom`='Webster' and `personne_prenom`='Ben') GROUP BY `personne_id`));
J'en déduis qu'une sous-requête donne plus d'un enregistrement mais ne vois pas comment solutionner mon problème
Merci d'avance de votre éclairage.