ciao, mi sà che stò facendo un pò (un bel pò) di confusione con gli alias.
facciamo un esempio basilare:
Codice PHP:
CREATE TABLE IF NOT EXISTS `a` (
`id` int(11) NOT NULL auto_increment,
`colore` varchar(10) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
INSERT INTO `a` VALUES(1, 'nero');
INSERT INTO `a` VALUES(2, 'blu');
INSERT INTO `a` VALUES(4, 'verde');
CREATE TABLE IF NOT EXISTS `b` (
`id` int(11) NOT NULL auto_increment,
`idColore` int(11) default NULL,
`forma` varchar(10) default NULL,
PRIMARY KEY (`id`),
KEY `idColore` (`idColore`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
INSERT INTO `b` VALUES(1, 1, 'quadrato');
INSERT INTO `b` VALUES(2, 2, 'triangolo');
//esempio di query select
SELECT
a.colore AS myColore,
b.forma AS myForma
FROM a
INNER JOIN b ON (a.id = b.idColore)
WHERE myColore != 'nero'
la query mi restituisce sempre errore: "#1054 - Unknown column 'myColore' in 'where clause' "
il mio dubbio è: sbaglio a utilizzare gli alias, o non posso usarli nella clausola where?