Conception d'une requête

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Conception d'une requête

par iclo » 19 mars 2008, 12:54

Assez étrange la structure de ta table, ça risque de te poser des problèmes par la suite, fais attention

re:

par albius » 19 mars 2008, 10:31

Merci Patriboom!!

par Patriboom » 18 mars 2008, 18:54

Tu peux aller du côté de

Code : Tout sélectionner

SELECT ... FROM table1 LEFT JOIN NomTable1 AS table2 ON table2.ident = table1.ident WHERE ...

Conception d'une requête

par albius » 18 mars 2008, 15:56

Bonjour,

J'ai un souci dans l'écriture d'une requête. J'ai d'abord un menu dans un formulaire qui propose une liste de secteurs d'activité:

Code : Tout sélectionner

<select name="secteurs" id="secteurs">
Les informations qui y s'affichent proviennent de la table 'secteuractiviteentreprises'
Structure de cette table :
CREATE TABLE `secteuractiviteentreprises` (
  `IdSectEnt` int(11) NOT NULL auto_increment,
  `SecteurActivite` varchar(30) NOT NULL default '',
  `ident` int(5) NOT NULL default '0',
  PRIMARY KEY  (`IdSectEnt`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=258 ;

-- Contenu de la table `secteuractiviteentreprises`

INSERT INTO `secteuractiviteentreprises` (`IdSectEnt`, `SecteurActivite`, `ident`) VALUES
(1, 'Restauration', 141),
(2, 'Commerce', 9),
(3, 'Alimentaire', 11),
(4, 'Administration', 10),
(5, 'Grande distribution', 8),
(6, 'Alimentaire', 8),
(7, 'Administration', 4),
(8, 'Grande distribution', 4),
(9, 'Grande distribution', 6),
(10, 'Commerce', 5),
etc...
Précisions concernant cette table, chaque 'ident' correspond à une entreprise, appartenant à un ou plusieurs secteurs d'activité.

la seconde table décrit précisément chaque entreprise:
CREATE TABLE `entreprises` (
  `RaisonSociale` varchar(50) default NULL,
  `...
  `AdresseEnt` varchar(50) default NULL,
  `CodePostalEnt` int(5) default NULL,
  `VilleEnt` varchar(30) default NULL,
  `Bassin` varchar(30) default NULL,
  `...
  `ident` int(5) NOT NULL auto_increment, > id de l'entreprise
  `DateAcceptation` varchar(10) NOT NULL default '',
  KEY `ident` (`ident`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=267 ;
La requête qui découle du choix de l'utilisateur doit afficher un certains nombre d'informations provenant de cette table en fonction donc du secteur d'activité choisi. J'ai commencé par faire une première partie de la requête destiné à sélectionner le secteur d'activité:
$select= 'SELECT * FROM secteuractiviteentreprises,  entreprises WHERE SecteurActivite =\''.$secteurs.'\';';
Mais comment faire pour correspondre les ident entre les deux tables sachant que je dois me servir obligatoirement du secteur d'activité. En faisant peut-être une imbrication de requête ?
merci,[/php]