Probleme sql
Nico341
-
Nico341 -
Nico341 -
Bonjour,
Je suis en train de finir la gestion d'une bdd de camping gerer avec php /mySQL
Dans ma base j'ai donc 3 tables differentes:
[code]
CREATE TABLE `camping` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`raison_sociale` varchar(80) NOT NULL DEFAULT '',
`dirigeant` varchar(60) NOT NULL DEFAULT '',
`adresse` varchar(255) NOT NULL DEFAULT '',
`cp` varchar(5) NOT NULL DEFAULT '',
`ville` varchar(60) NOT NULL DEFAULT '',
`tel` varchar(15) NOT NULL DEFAULT '',
`fax` varchar(15) NOT NULL DEFAULT '',
`site` varchar(255) NOT NULL DEFAULT '',
`email` varchar(30) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
)
CREATE TABLE `logo` (
`logo_id` int(11) NOT NULL AUTO_INCREMENT,
`logo_name` varchar(255) NOT NULL DEFAULT '',
`logo_path` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`logo_id`)
)
CREATE TABLE `camping_logo` (
`id` int(11) NOT NULL DEFAULT '0',
`logo_id` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`,`logo_id`)
)
[/code]
J'ai donc une table camping qui repertorie mes camping,
une table logo qui represente les en fait les "option" du camping (bar, bungalow, douche...Etc)
et enfin une table camping_logo qui fait la jointure entre les 2 autres tables
J'ai procéde ainsi car plusieurs campings peuvent avoir les meme logo.
En fait j'ai un souci dans se qu'il faut marquer dans la base pour faire en sorte que le camping n°8 à comme logo
les n°5,6,7,12
en toute logique je devrai recuperer les numero sités dans camping_logo.logo_id
Mais que dois-je marquer dans camping_logo.logo_id pour que la requete puisse appeler plusieurs logo ???
J'ai essayer logo_id= 5,6,7,12 mais la requete m'appel que le logo 5....
help meeee
Je suis en train de finir la gestion d'une bdd de camping gerer avec php /mySQL
Dans ma base j'ai donc 3 tables differentes:
[code]
CREATE TABLE `camping` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`raison_sociale` varchar(80) NOT NULL DEFAULT '',
`dirigeant` varchar(60) NOT NULL DEFAULT '',
`adresse` varchar(255) NOT NULL DEFAULT '',
`cp` varchar(5) NOT NULL DEFAULT '',
`ville` varchar(60) NOT NULL DEFAULT '',
`tel` varchar(15) NOT NULL DEFAULT '',
`fax` varchar(15) NOT NULL DEFAULT '',
`site` varchar(255) NOT NULL DEFAULT '',
`email` varchar(30) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
)
CREATE TABLE `logo` (
`logo_id` int(11) NOT NULL AUTO_INCREMENT,
`logo_name` varchar(255) NOT NULL DEFAULT '',
`logo_path` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`logo_id`)
)
CREATE TABLE `camping_logo` (
`id` int(11) NOT NULL DEFAULT '0',
`logo_id` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`,`logo_id`)
)
[/code]
J'ai donc une table camping qui repertorie mes camping,
une table logo qui represente les en fait les "option" du camping (bar, bungalow, douche...Etc)
et enfin une table camping_logo qui fait la jointure entre les 2 autres tables
J'ai procéde ainsi car plusieurs campings peuvent avoir les meme logo.
En fait j'ai un souci dans se qu'il faut marquer dans la base pour faire en sorte que le camping n°8 à comme logo
les n°5,6,7,12
en toute logique je devrai recuperer les numero sités dans camping_logo.logo_id
Mais que dois-je marquer dans camping_logo.logo_id pour que la requete puisse appeler plusieurs logo ???
J'ai essayer logo_id= 5,6,7,12 mais la requete m'appel que le logo 5....
help meeee
A voir également:
- Probleme sql
- Logiciel sql - Télécharger - Bases de données
- Requete sql pix ✓ - Forum MySQL
- Sql lister les tables ✓ - Forum Programmation
- Récupération serveur sql - Télécharger - Gestion de données
- Migration base access vers sql server - Télécharger - Gestion de données
2 réponses
Bonjour,
Il faut mettre autant de ligne qu'il y a de logos par camping.
Donc dans ton exemple, 4 lignes différentes :
id - logo-id
8 - 5
8 - 6
8 - 7
8 - 12
Ensuite, la requête qui permettra de récupérer l'adresse des logos du camping 8 :
SELECT l.* FROM camping_logo cl INNER JOIN logo l ON l.logo_id = cl.logo_id WHERE cl.id=8
Ca renverra bien sûr 4 lignes, une par logo.
Xavier
Il faut mettre autant de ligne qu'il y a de logos par camping.
Donc dans ton exemple, 4 lignes différentes :
id - logo-id
8 - 5
8 - 6
8 - 7
8 - 12
Ensuite, la requête qui permettra de récupérer l'adresse des logos du camping 8 :
SELECT l.* FROM camping_logo cl INNER JOIN logo l ON l.logo_id = cl.logo_id WHERE cl.id=8
Ca renverra bien sûr 4 lignes, une par logo.
Xavier