Valnei WS Postado Agosto 19, 2010 Denunciar Share Postado Agosto 19, 2010 (editado) Boa tarde,estou tentando fazer um inner join para juntar dados de duas tabelas e esta me trazendo um erro.Gostaria de pegar os campos n_pedido e o vendedor da tabela dadose os campos n_pedido e total da tabela pedido (sendo o campo total tem que somar todos os registro com n_pedido iguais)O codigo:SELECT dados.vendedor, pedido.total, SUM(total) as venda FROM dados INNER JOIN pedido ON dadoss.n_pedido = pedido.n_pedido;") o erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E31)[MySQL][ODBC 3.51 Driver][mysqld-4.1.16-nt]Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (latin1_general_ci,IMPLICIT) for operation '='O que poderá ser?? Editado Agosto 19, 2010 por quintelab Removido descrição por ser idêntica ao título Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Agosto 20, 2010 Denunciar Share Postado Agosto 20, 2010 aparentemente a codificação de suas tabelas deve ser igual para funcionar.deixe as tabelas com a mesma collation. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Andre_Luiz Postado Agosto 20, 2010 Denunciar Share Postado Agosto 20, 2010 aparentemente a codificação de suas tabelas deve ser igual para funcionar.deixe as tabelas com a mesma collation.É verdade. Mas você pode forçar o collate também, famosa "gambiarra":SELECT dados.vendedor, pedido.total, SUM(total) as venda FROM dados INNER JOIN pedido ON dadoss.n_pedido COLLATE latin1_general_ci = pedido.n_pedido COLLATE latin1_general_ciHave Fun! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Valnei WS Postado Agosto 20, 2010 Autor Denunciar Share Postado Agosto 20, 2010 vou testarobrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Valnei WS Postado Agosto 20, 2010 Autor Denunciar Share Postado Agosto 20, 2010 Rodou sim, mas bem lento.Para ficar normal tenho que transformar as tabelas todas em latin1_general_ci??E gostaria de saber porque latin1_general_ci é melhor?? qual a vantagem??Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Agosto 31, 2010 Denunciar Share Postado Agosto 31, 2010 http://tutorial.uolhost.com.br/index.php?p...mp;res=891#rmcl Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 quintelab Postado Agosto 31, 2010 Denunciar Share Postado Agosto 31, 2010 Movido ASP para MySQL Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Setembro 1, 2010 Denunciar Share Postado Setembro 1, 2010 Oi 'Valnei WS' No seu código SELECT dados.vendedor, pedido.total, SUM(total) as venda FROM dados INNER JOIN pedido ON dadoss.n_pedido = pedido.n_pedido;"Você declarou uma tabela dados e em dadoss.n_pedido fez referência a dadoss com dois "s".Corrija e poste novamente. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Valnei WS
Boa tarde,
estou tentando fazer um inner join para juntar dados de duas tabelas e esta me trazendo um erro.
Gostaria de pegar os campos n_pedido e o vendedor da tabela dados
e os campos n_pedido e total da tabela pedido (sendo o campo total tem que somar todos os registro com n_pedido iguais)
O codigo:
SELECT dados.vendedor, pedido.total, SUM(total) as venda FROM dados INNER JOIN pedido ON dadoss.n_pedido = pedido.n_pedido;")
o erro:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E31)
[MySQL][ODBC 3.51 Driver][mysqld-4.1.16-nt]Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (latin1_general_ci,IMPLICIT) for operation '='
O que poderá ser??
Editado por quintelabRemovido descrição por ser idêntica ao título
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.