J'ai un petit problème pour faire un lien entre 2 tables, dont voici la structure :
J'ai une requête qui doit me permettre de récupérer les infos de chacune des lignes de la table INSCRIPTIONS, et accessoirement, la facture associée, si elle existe (d'où l'utilisation de LEFT JOIN) :CREATE TABLE `factures` (
`facture_id` int(11) NOT NULL auto_increment,
`facture_inscription_id` int(11) NOT NULL,
`facture_file` varchar(50) NOT NULL,
`facture_datetime` datetime NOT NULL,
PRIMARY KEY (`facture_id`),
KEY `facture_inscription_id` (`facture_inscription_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE `inscriptions` (
`inscription_id` int(11) NOT NULL auto_increment,
`inscription_user_id` int(11) NOT NULL,
`inscription_event_id` int(11) NOT NULL,
`inscription_datetime` datetime NOT NULL,
`inscription_statut` tinyint(4) NOT NULL,
`inscription_place` varchar(255) NOT NULL,
PRIMARY KEY (`inscription_id`),
KEY `inscription_user_id` (`inscription_user_id`,`inscription_event_id`),
KEY `inscription_place` (`inscription_place`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
Mais cette requête me renvoie l'erreur suivante :"SELECT inscription_id, user_login, event_name, inscription_datetime, inscription_statut, inscription_place, facture_id
FROM ".$cfg_prefixe."inscriptions, ".$cfg_prefixe."users, ".$cfg_prefixe."events
LEFT JOIN ".$cfg_prefixe."factures ON facture_inscription_id = inscription_id
WHERE inscription_user_id = user_id AND inscription_event_id = event_id AND inscription_statut = 0
ORDER BY inscription_id"
Pourtant, le champs inscription_id est bien répertorié dans le début de la requête.Champ 'inscription_id' inconnu dans on clause
Qu'est ce qui cloche ?