INSERT COM SELECT?

NOWLIGHTS 30/11/2017 20:12:18
#478191
Boa tarde galera!

Tem como fazer algo do tipo;

  INSERT INTO 'dajdba'.'funcionario' ('IdEmpresa') VALUES (SELECT Id FROM contato Where Id=1); 
NOWLIGHTS 01/12/2017 19:41:51
#478208
E se eu precisar colocar mais colunas dps do Select?
JABA 01/12/2017 20:04:15
#478209
Se a intenção é preencher as colunas do Insert, qual é a necessidade de pegar outras colunas? 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.
NOWLIGHTS 01/12/2017 22:36:46
#478210
por exemplo; tenho uma tabela

Id Nome / Cliente
e
Id IdCliente Contato / Contato

Quero inserir um cliente e inserir um contato com o Id do cliente que foi inserido
JABA 02/12/2017 01:07:34
#478211
1- Você inseri o cliente e captura a id na hora da inserção. Se você estiver usando o SQLServer, você pode fazer assim:

INSERT INTO tabela (campos) VALUES([ô]valores[ô]); SELECT SCOPE_IDENTITY()


docs.microsoft.com/en-us/sql/t-sql/functions/scope-identity-transact-sql

2- Depois, na hora de inserir o contato, você passa essa id para o campo idCliente.

NOWLIGHTS 03/12/2017 13:42:26
#478229
Então, más não tem como fazer isso tudo na mesma query?
JABA 03/12/2017 14:02:09
#478230
Acredito que não! São duas inserções diferentes.
Tópico encerrado , respostas não são mais permitidas