GARANTIR DESCONTO

Fórum Inserir dados de duas tabelas #265405

14/01/2005

0

:x
Boa Tarde,

Gostaria de saber se é possivel INSERIR DADOS em uma tabela da seguinte forma:

TABELA CLIENTES - #CODIGO,PEDIDO,CLIENTE, VALOR
TABELA ITENS - CODIGO,PEDIDO,COR,PESO
TABELA OTIMIZADA CODIGO,PEDIDO,CLIENTE,VALOR,COR,PESO


FIZ A SEGUINTE SQL

INSERT INTO OTIMIZADA (A.CODIGO,A.PEDIDO,A.CLIENTE,A.VALOR,B.COR,B.PESO) SELECT A.CODIGO,A.PEDIDO,A.CLIENTE,A.VALOR,B.COR,B.PESO FROM
CLIENTE A, ITENS B WHERE A.CODIGO=B.CODIGO

DA UM ERRO DIZENDO QUE A TABELA B NAO EXISTE

não é possivel inserir dados de duas tabelas em uma terceira tabela?

tks

Alex


:arrow: [color=red:19a899dd16]Título alterado pelo moderador oTTo. (Upper)[/color:19a899dd16]


Alexguara

Alexguara

Responder

Posts

14/01/2005

Vinicius2k

[b:3f74fa823f][color=red:3f74fa823f]Notificação de Infração às Regras de Conduta :[/color:3f74fa823f][/b:3f74fa823f]

Colega,

Neste tópico ocorreu infração às Regras de Conduta do Fórum :
[list:3f74fa823f][*:3f74fa823f]Utilização de letras maiúsculas (equivalente a gritar e dando destaque injusto) no título e texto do tópico.[/list:u:3f74fa823f]
Peço que leia atentamente as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta[/url] para evitar que este fato se repita.

Se algum esclarecimento sobre o funcionamento do fórum ou sobre as Regras de Conduta for necessário, envie-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=2796]Mensagem Particular[/url].


Responder

Gostei + 0

14/01/2005

Paulo_amorim

Olá

Como é a primeira msg do usuário, não creio que o tópico será bloqueado e portanto não custa tentar ajudar:

Pode-se, sim, fazer insersões a partir de SELECT´s, mas não eh necessário nesse caso especificar campos:

INSERT INTO otimizada
SELECT A.CODIGO, A.PEDIDO, A.CLIENTE, A.VALOR, B.COR, B.PESO 
FROM CLIENTE A, ITENS B 
WHERE A.CODIGO = B.CODIGO


Espero que ajude
Até+


Responder

Gostei + 0

20/01/2005

Alexguara

Caro Paulo,
fiz conforme vc demonstrou no exemplo acima,
estou utilizando mysql, e me retorna o seguinte erro :

Error 1136: Column count doesn´t match value count at row 1

Você poderia me dizer pq aconteceu este erro e nao inseriu os dados?

Tks

Alex


Responder

Gostei + 0

20/01/2005

Paulo_amorim

Olá

Esse erro ocorre porque o numero de campos do SELECT está diferente do número de campos da tabela.

O Select deve trazer o mesmo número de campos, os quais com formato (string, número, data, etc.) compatível ao campo da tabela.

P.Ex.
Tabela: COD, NOME, IDADE, CIDADE

O Select tem que ser
INSERT INTO tabela
SELECT 1, ´José´, 20, ´São Paulo´ FROM ...


Se você não quer passar um campo, passe NULL no lugar, mas [b:8620e841ec]não deixe de inclui-lo[/b:8620e841ec]

INSERT INTO tabela 
SELECT 1, ´José´, NULL, ´São Paulo´ FROM ...


Espero que assim funcione
Até+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar