par
manuscle » 04 mars 2008, 11:44
Bonjour à tous!
J'ai une requête qui passe pas en local (wamp 2.0) alors que chez mon hébergeur ça passe:
Structure des tables :
Code : Tout sélectionner
Server version 4.0.25-standard-log
CREATE TABLE `fabricant` (
`fab_id` int(10) NOT NULL auto_increment,
`fab_nom` varchar(255) NOT NULL default '',
`fab_rep` varchar(255) NOT NULL default '',
PRIMARY KEY (`fab_id`),
KEY `fab_id` (`fab_id`),
KEY `fab_nom` (`fab_nom`),
KEY `fab_rep` (`fab_rep`)
) TYPE=MyISAM;
CREATE TABLE `maj` (
`maj_id` int(10) NOT NULL auto_increment,
`fab_id` int(10) NOT NULL default '',
`type_id` int(10) NOT NULL default '',
`maj_fichier` varchar(255) NOT NULL default '',
`maj_status` int(1) NOT NULL default '0',
`maj_date` date NOT NULL default '0000-00-00',
PRIMARY KEY (`maj_id`),
KEY `fab_id` (`fab_id`),
KEY `maj_date` (`maj_date`),
KEY `maj_fichier` (`maj_fichier`),
KEY `maj_id` (`maj_id`),
KEY `maj_status` (`maj_status`),
KEY `type_id` (`type_id`)
) TYPE=MyISAM;
CREATE TABLE `type` (
`type_id` int(10) NOT NULL default '0',
`type_num` decimal(10,0) NOT NULL default '0',
`type_nom` varchar(255) NOT NULL default '',
`type_cat` varchar(255) NOT NULL default '',
`abo_id` tinyint(10) NOT NULL default '0',
PRIMARY KEY (`type_id`),
KEY `abo_id` (`abo_id`),
KEY `type_cat` (`type_cat`),
KEY `type_id` (`type_id`),
KEY `type_nom` (`type_nom`),
KEY `type_num` (`type_num`)
) TYPE=MyISAM;
Code : Tout sélectionner
SELECT COUNT(*) FROM fabricant b, type c
LEFT JOIN maj a ON a.fab_id = b.fab_id AND a.type_id = c.type_id
WHERE a.maj_id IS NOT NULL
Message de MySQL : Unknown column 'b.fab_id' in 'on clause'
Chez mon hébergeur je suis en Mysql 4 avec php 4, j'essaie de migrer en mysql 5 avec php 5, c'est pour cela que j'ai installé la dernière version de wamp. Avant, j'étais sous easyphp 1.8 et je n'avais pas ce problème. Je pense que mysql 5 doit avoir une syntaxe différente pour les jointures..... mais je n'arrive pas à trouver.
J'ai essayé également ceci :
Code : Tout sélectionner
SELECT COUNT(*) FROM fabricant, type
LEFT JOIN maj a USING (fab_id, type_id)
WHERE a.maj_id IS NOT NULL
J'obtiens quasi la même erreur : Unknown fab_id in 'from' clause
Merci d'avance!
Bonjour à tous!
J'ai une requête qui passe pas en local (wamp 2.0) alors que chez mon hébergeur ça passe:
Structure des tables :
[code]
Server version 4.0.25-standard-log
CREATE TABLE `fabricant` (
`fab_id` int(10) NOT NULL auto_increment,
`fab_nom` varchar(255) NOT NULL default '',
`fab_rep` varchar(255) NOT NULL default '',
PRIMARY KEY (`fab_id`),
KEY `fab_id` (`fab_id`),
KEY `fab_nom` (`fab_nom`),
KEY `fab_rep` (`fab_rep`)
) TYPE=MyISAM;
CREATE TABLE `maj` (
`maj_id` int(10) NOT NULL auto_increment,
`fab_id` int(10) NOT NULL default '',
`type_id` int(10) NOT NULL default '',
`maj_fichier` varchar(255) NOT NULL default '',
`maj_status` int(1) NOT NULL default '0',
`maj_date` date NOT NULL default '0000-00-00',
PRIMARY KEY (`maj_id`),
KEY `fab_id` (`fab_id`),
KEY `maj_date` (`maj_date`),
KEY `maj_fichier` (`maj_fichier`),
KEY `maj_id` (`maj_id`),
KEY `maj_status` (`maj_status`),
KEY `type_id` (`type_id`)
) TYPE=MyISAM;
CREATE TABLE `type` (
`type_id` int(10) NOT NULL default '0',
`type_num` decimal(10,0) NOT NULL default '0',
`type_nom` varchar(255) NOT NULL default '',
`type_cat` varchar(255) NOT NULL default '',
`abo_id` tinyint(10) NOT NULL default '0',
PRIMARY KEY (`type_id`),
KEY `abo_id` (`abo_id`),
KEY `type_cat` (`type_cat`),
KEY `type_id` (`type_id`),
KEY `type_nom` (`type_nom`),
KEY `type_num` (`type_num`)
) TYPE=MyISAM;
[/code]
[code] SELECT COUNT(*) FROM fabricant b, type c
LEFT JOIN maj a ON a.fab_id = b.fab_id AND a.type_id = c.type_id
WHERE a.maj_id IS NOT NULL
Message de MySQL : Unknown column 'b.fab_id' in 'on clause'
[/code]
Chez mon hébergeur je suis en Mysql 4 avec php 4, j'essaie de migrer en mysql 5 avec php 5, c'est pour cela que j'ai installé la dernière version de wamp. Avant, j'étais sous easyphp 1.8 et je n'avais pas ce problème. Je pense que mysql 5 doit avoir une syntaxe différente pour les jointures..... mais je n'arrive pas à trouver.
J'ai essayé également ceci :
[code]
SELECT COUNT(*) FROM fabricant, type
LEFT JOIN maj a USING (fab_id, type_id)
WHERE a.maj_id IS NOT NULL
[/code]
J'obtiens quasi la même erreur : Unknown fab_id in 'from' clause
Merci d'avance!