Boa tarde.
Estou com um problema na hora de fazer um INNER JOIN entre as minhas tabelas.
Minha ideia e fazer um INNER JOIN entre as tabelas produto, registro, checklist e vincular aonde me retornar o nome de todas as linhas da coluna nome da tabela checklist que tem relação entre produto e registro, mas como em todas as tabelas tem uma coluna chamado nome acabe dando erro.
Minhas tabelas são essas :
CREATE TABLE produto(
id INT NOT NULL AUTO_INCREMENT,
nome VARCHAR(250) NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE registro(
id INT NOT NULL AUTO_INCREMENT,
nome VARCHAR(250) NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE checklist(
id INT NOT NULL AUTO_INCREMENT,
nome VARCHAR(250) NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE vincular(
id INT NOT NULL auto_increment PRIMARY KEY,
vincular_descricao VARCHAR(250) NOT NULL,
id_produto INT NOT NULL,
id_registro INT NOT NULL,
id_checklist INT NOT NULL,
FOREIGN KEY (id_produto)
REFERENCES produto(id)
ON DELETE CASCADE,
FOREIGN KEY (id_registro)
REFERENCES registro(id)
ON DELETE CASCADE,
FOREIGN KEY (id_checklist)
REFERENCES checklist(id)
ON DELETE CASCADE
);
O algorítimo que estou usando esta sendo esse mas ocorre erro. Ja tentei ate apelidar a tabela mas ocorre erro da mesma maneira.
SELECT nome FROM vincular INNER JOIN checklist ON checklist.id = vincular.id_checklist
INNER JOIN produto ON produto.id= 3 and vincular.id_produto =3
INNER JOIN registro ON registro.id= 1 and vincular.id_registro =1;
Alguém consegue me ajudar ?