Salvar 3 vezes a chave na mesma tabela
Boa Tarde, preciso de ajuda , precisaria salvar 3 vezes a chave de outra tabela em uma só tabela, com 3 campo recebendo a mesma chave , alguem pode me ajudar ?
Joabe Silva
Curtidas 0
Respostas
Joel Rodrigues
23/04/2013
Qual a dificuldade exatamente? Você quer que um campo de uma tabela seja chave estrangeira com 3 campos de outra?
Tipo:
Tabela_A
-Codigo
Tabela_B
-Codigo_A1 (apontando para o Codigo da Tabela_A)
-Codigo_A2 (apontando para o Codigo da Tabela_A)
-Codigo_A3 (apontando para o Codigo da Tabela_A)
Tipo:
Tabela_A
-Codigo
Tabela_B
-Codigo_A1 (apontando para o Codigo da Tabela_A)
-Codigo_A2 (apontando para o Codigo da Tabela_A)
-Codigo_A3 (apontando para o Codigo da Tabela_A)
GOSTEI 0
Joabe Silva
23/04/2013
Isso mesmo , tem alguma ideia de como faço isso ?
alguma forma ?
alguma forma ?
GOSTEI 0
Matheus Rs
23/04/2013
ALTER TABLE TABELA1 ADD CONSTRAINT FK_TABELA1_TABELA2 FOREIGN KEY (CAMPTABELA1) REFERENCES TABELA2 (CAMPOTABELA2) ON UPDATE CASCADE; ALTER TABLE TABELA1 ADD CONSTRAINT FK_TABELA1_TABELA3 FOREIGN KEY (CAMPTABELA1) REFERENCES TABELA3 (CAMPOTABELA3) ON UPDATE CASCADE; ALTER TABLE TABELA1 ADD CONSTRAINT FK_TABELA1_TABELA4 FOREIGN KEY (CAMPTABELA1) REFERENCES TABELA4 (CAMPOTABELA4) ON UPDATE CASCADE;
Isso?
Abçs.
GOSTEI 0
Joabe Silva
23/04/2013
A tabela são essas. no campo v1 , v2 , v3 , do talhão deve receber os dados da tabela variedades , como faço ?
segue o link com a imagem da tabela modelada.
segue o link com a imagem da tabela modelada.
http://www.brimages.com.br/view.php?filename=664Sem_t_tulo.png
GOSTEI 0
Joabe Silva
23/04/2013
Resolvi , salvei 3 vezes a chave no outro campo que eu precisava.
GOSTEI 0
Joel Rodrigues
23/04/2013
Opa, obrigado pelo retorno. E desculpe por eu ter sumido.
Mas o nosso amigo acima deu a dica chave, é só substituir os nomes das tabelas.
Estou marcando este tópico como Concluído.
Mas o nosso amigo acima deu a dica chave, é só substituir os nomes das tabelas.
Estou marcando este tópico como Concluído.
GOSTEI 0
Joabe Silva
23/04/2013
resolvi em partes , pois na hora que faço um join em entre as tabelas elas nao trazem a categoria .
vou postar minhas tabelas denovo, ve se vocês ,me entende.
[url][URL=http://www.crazzy.com.br/upload/upload-img] [IMG]http://www.crazzy.com.br/upload/upload-img/pictures/9bfb0c61f040d6c3d1085db1fafeb2b8.png[/IMG][/URL][/url]
vou postar minhas tabelas denovo, ve se vocês ,me entende.
[url][URL=http://www.crazzy.com.br/upload/upload-img] [IMG]http://www.crazzy.com.br/upload/upload-img/pictures/9bfb0c61f040d6c3d1085db1fafeb2b8.png[/IMG][/URL][/url]
GOSTEI 0
Joabe Silva
23/04/2013
resolvi em partes , pois na hora que faço um join em entre as tabelas elas nao trazem a categoria .
vou postar minhas tabelas denovo, ve se vocês ,me entende.
[url=http://www.crazzy.com.br/upload/upload-img] [img]http://www.crazzy.com.br/upload/upload-img/pictures/9bfb0c61f040d6c3d1085db1fafeb2b8.png[/img]correção
vou postar minhas tabelas denovo, ve se vocês ,me entende.
[url=http://www.crazzy.com.br/upload/upload-img] [img]http://www.crazzy.com.br/upload/upload-img/pictures/9bfb0c61f040d6c3d1085db1fafeb2b8.png[/img]correção
GOSTEI 0
Joabe Silva
23/04/2013
Opa, obrigado pelo retorno. E desculpe por eu ter sumido.
Mas o nosso amigo acima deu a dica chave, é só substituir os nomes das tabelas.
Estou marcando este tópico como Concluído.
Mas o nosso amigo acima deu a dica chave, é só substituir os nomes das tabelas.
Estou marcando este tópico como Concluído.
reabrindo post.
GOSTEI 0
Joel Rodrigues
23/04/2013
Como está seu SELECT?
GOSTEI 0
Matheus Rs
23/04/2013
Manda o teu SELECT.
GOSTEI 0
Joabe Silva
23/04/2013
Ele so me mostra o do v2 , não mostra o do campo v1 e v3.
SELECT talhoes.*, variedades.* FROM talhoes INNER JOIN variedades ON talhoes.v2 = variedades.cod_variedade
GOSTEI 0
Joabe Silva
23/04/2013
Ele so me mostra o do v2 , não mostra o do campo v1 e v3.
SELECT talhoes.*, variedades.* FROM talhoes INNER JOIN variedades ON talhoes.v2 = variedades.cod_variedade
Podem me ajudar com um select para mostrar as 3 variedade de cada talhão ?
GOSTEI 0
Matheus Rs
23/04/2013
Só esta te trazendo o campo V2 no resultado, isso?
A tua o campo V2 da tabela TALHOES tem a mesma informação que o campo COD_VARIEDADE da tabela VARIEDADES?
Ao invéz deste:
Tenta este:
Se não for isto, verifica a estrutura das tabelas, informações gravadas e campos de ligações. Qualquer coisa manda a estrutura das duas tabelas aqui no FORUM;
A tua o campo V2 da tabela TALHOES tem a mesma informação que o campo COD_VARIEDADE da tabela VARIEDADES?
Ao invéz deste:
SELECT talhoes.*, variedades.* FROM talhoes INNER JOIN variedades ON talhoes.v2 = variedades.cod_variedade
Tenta este:
SELECT DISTINCT t.V2 , v.cod_variedade FROM talhoes t LEFT JOIN variedades v ON v.cod_variedade = t.v2
Se não for isto, verifica a estrutura das tabelas, informações gravadas e campos de ligações. Qualquer coisa manda a estrutura das duas tabelas aqui no FORUM;
GOSTEI 0
Joabe Silva
23/04/2013
Não certo não , eu preciso listar , o talhão e as 3 variedades , mostrando o mome da variedade e não o codigo como ja consigo fazer.
segue as estruturas da tabela.
segue as estruturas da tabela.
CREATE TABLE fazenda.talhoes ( cod_talhao INT(11) NOT NULL AUTO_INCREMENT, nome VARCHAR(45) DEFAULT NULL, a_total VARCHAR(255) DEFAULT NULL, a_prod VARCHAR(255) DEFAULT NULL, v1 INT(11) DEFAULT NULL, v2 INT(11) DEFAULT NULL, v3 INT(11) DEFAULT NULL, i_plantio DATE DEFAULT NULL, t_plantio DATE DEFAULT NULL, i_colheita DATE DEFAULT NULL, t_colheita DATE DEFAULT NULL, cod_safra INT(11) DEFAULT NULL, cod_cultura INT(11) DEFAULT NULL, cod_fazenda INT(11) DEFAULT NULL, PRIMARY KEY (cod_talhao), CONSTRAINT FK_TABELtalhoes_TABELAvariedades FOREIGN KEY (v2) REFERENCES fazenda.variedades(cod_variedade) ON DELETE RESTRICT ON UPDATE CASCADE, CONSTRAINT FK_TABELtalhoes1_TABELAvariedades2 FOREIGN KEY (v3) REFERENCES fazenda.variedades(cod_variedade) ON DELETE RESTRICT ON UPDATE CASCADE, CONSTRAINT FK_talhoes_cultura_cod_cult FOREIGN KEY (cod_cultura) REFERENCES fazenda.cultura(cod_cult) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT FK_talhoes_empresa_cod_emp FOREIGN KEY (cod_fazenda) REFERENCES fazenda.empresa(cod_emp) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT FK_talhoes_safra_cod_safra FOREIGN KEY (cod_safra) REFERENCES fazenda.safra(cod_safra) ON DELETE RESTRICT ON UPDATE RESTRICT, CONSTRAINT FK_talhoes_variedades_cod_variedade FOREIGN KEY (v1) REFERENCES fazenda.variedades(cod_variedade) ON DELETE RESTRICT ON UPDATE RESTRICT ) ENGINE = INNODB AUTO_INCREMENT = 1 CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE fazenda.variedades ( cod_variedade INT(11) NOT NULL AUTO_INCREMENT, variedade VARCHAR(45) DEFAULT NULL, transgenico VARCHAR(6) DEFAULT NULL, cod_cultura INT(11) DEFAULT NULL, PRIMARY KEY (cod_variedade), CONSTRAINT FK_variedades_cultura_cod_cult FOREIGN KEY (cod_cultura) REFERENCES fazenda.cultura(cod_cult) ON DELETE RESTRICT ON UPDATE RESTRICT ) ENGINE = INNODB AUTO_INCREMENT = 4 AVG_ROW_LENGTH = 8192 CHARACTER SET utf8 COLLATE utf8_general_ci;
GOSTEI 0