Bonjour à tous,
je suis confronté à un problème de requête, je n'arrive pas à associer pour chaque modèle une image !
voici mes trois tables :

la table trad :
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
CREATE TABLE IF NOT EXISTS base.trad(
 base.trad.id INT(11) NOT NULL AUTO_INCREMENT,
 base.trad.name VARCHAR(45) NULL DEFAULT NULL, 
 base.trad.Model_Number VARCHAR(45) NULL DEFAULT NULL,
 base.trad.Serial_Number VARCHAR(45) NULL DEFAULT NULL,
 base.trad.Pattern VARCHAR(45) NULL DEFAULT NULL,
 base.trad.Type VARCHAR(45) NULL DEFAULT NULL,
 base.trad.Element VARCHAR(45) NULL DEFAULT NULL,
 base.trad.NumberofElementsTotal VARCHAR(45) NULL DEFAULT NULL,
 base.trad.NumberofElementsDimB VARCHAR(45) NULL DEFAULT NULL,
 base.trad.ElementDimB VARCHAR(45) NULL DEFAULT NULL,
 base.trad.ElementDimA DOUBLE NULL DEFAULT NULL,
 base.trad.ElementPitchA VARCHAR(45) NULL DEFAULT NULL,
 base.trad.ElementPitchB VARCHAR(45) NULL DEFAULT NULL,
 base.trad.Element_position VARCHAR(45) NULL DEFAULT NULL,
 base.trad.surface VARCHAR(45) NULL DEFAULT NULL,
 base.trad.surface_type VARCHAR(45) NULL DEFAULT NULL,
 base.trad.surfaceparameters VARCHAR(45) NULL DEFAULT NULL,
 base.trad.Nominal_Frequency VARCHAR(45) NULL DEFAULT NULL,
 base.trad.Picture BLOB NULL DEFAULT NULL,
 base.trad.Description VARCHAR(45) NULL DEFAULT NULL,
 base.trad.capteur_inclut VARCHAR(45) NULL DEFAULT NULL,
PRIMARY KEY (id))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
Import du fichier Excel dans la table trad :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
LOAD DATA LOCAL INFILE 'C:\\Stage\\Essai.csv'
INTO TABLE base.trad
CHARACTER SET utf8
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
ESCAPED BY '\\' LINES
TERMINATED BY '\r\n'
IGNORE 1 LINES;
La table image:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
insert into base.image(image, nom_image)
select t.picture as image,
	'B2M' as nom_image
  from base.trad t;
et la table model ou j'ai un soucis d'insertion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
insert into base.model(model_number, description, id_nature,id_manufacturer, id_image)
select distinct
t.Model_number as model_number,
t.description as description,
(select id_nature from base.nature where nature= 'traducteur') as id_nature,
(select id_manufacturer from base.manufacturer where name= 'B2M') as id_manufacturer,
i.id_image as id_image
from base.trad t
inner join base.image i
ON i.image = t.picture
where i.id_image between LAST_INSERT_ID() and (LAST_INSERT_ID() + ROW_COUNT());
Résultat :
Pour chaque model, il m'associe tout les id_image or moi je veux pour chaque model un id_image !
Merci de votre aide
cordialement,