Comando Insert com Select

MySQL

02/08/2012

Olá galera, eu vi uma vez que um professor fez um insert com select, ele pegava os dados de uma tabela junto com outra e fazia a inclusão dos dados em outra tabela. Estava tentando fazer por aqui mas não consegui, alguém poderia me ajudar?

Obrigada pessoal!!
Carla Batista

Carla Batista

Curtidas 3

Melhor post

Eduardo Gonçalves

Eduardo Gonçalves

07/08/2012

Sim, você pode fazer qualquer SELECT, discriminando os campos e usando duas tabelas. O importante é que o número dos campos que você retorne e os tipos do mesmo tenham correspondência com os campos que você especificar no insert. No exemplo a seguir, estou inserindo na TABELA_ALVO, dados de duas tabelas: CLIENTE e DEPARTAMENTO, sendo que os campos NOME e IDADE vem de Cliente.Nome e Cliente.Idade e DEPARTAMENTO vem de Departamento.Nome_Dept

INSERT INTO TABELA_ALVO(NOME, IDADE, DEPARTAMENTO)
SELECT CLI.NOME, CLI.IDADE, DEP.NOME_DEPT
FROM CLIENTE CLI, DEPARTAMENTO DEP
WHERE CLI.NUM_DEPT = DEP.NUM_DEPT
GOSTEI 5

Mais Respostas

Eduardo Gonçalves

Eduardo Gonçalves

02/08/2012

Se você, por exemplo, tem uma tabela TAB_A que possui a mesma estrutura de uma tabela TAB_B, poderá inserir todos os registros de TAB_B em TAB_A utilizando o seguinte insert com SELECT:

insert into TAB_A select * from TAB_B



Você pode especificar os campos no select/insert e também filtrar registros com WHERE no select caso não deseje inserir todos os campos ou linhas de TAB_B.
GOSTEI 2
Carla Batista

Carla Batista

02/08/2012

Olá Eduardo, obrigada pela ajuda.

Mas por exemplo, se eu quiser importar os dados de 2 tabelas para uma terceira tabela como seria? O * não funcionaria :(

eu posso descriminar os campos que desejo importar?

Obrigada
GOSTEI 3
Carla Batista

Carla Batista

02/08/2012

Oi Eduardo, muito obrigada!!!!!!

Agora sim consegui fazer o que queria!

Poxa obrigada mesmo pela ajuda, muito bom contar com a tua ajuda.

Obs: tenho acompanhado seus posts, muito bom por sinal, você é nota 11!!

Até mais
GOSTEI 2
Anderson

Anderson

02/08/2012

Me ajudou muito o seu Post, Obrigado
GOSTEI 1
Jonatas Alves

Jonatas Alves

02/08/2012

Parabéns cara.

Ajudou demais aqui!
GOSTEI 0
POSTAR