Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

shumi

Comparação

Recommended Posts

Galera,Como eu faço uma comparação?Tipo eu tenho uma tabela em meu banco que esta cadastrado os estabelecimentos(tem mil estabelecimentos) e tenho uma outra tabela em meu banco de ocorrencias tipo tem o mesmo estabelecimento cadastrado várias vezes e tem estabelecimentos que não estão cadastrados na tabela ocorrencia.Como eu faço uma comparação e puxar os que não tiveram ocorrencia???Tem como???Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tabela estabelecimentos# ID NomeTabela Ocorrencias# ID ID_estabelecimentos NomeSQL:Select * from estabelecimentos where ID not in (select ID_estabelecimentos from ocorrencias where ID_estabelecimentos = estabelecimentos.ID)testa aí cara.. não testei mas acho que vai dar certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

A tabela que esta cadastrado as lojas chama-se local e as lojas estão como o nome de "fantasia" e na tabela que cai as ocorrencias chama-se dados_vendas e a coluna que esta as lojas chama-se estabelecimento.Veja como fiz:

Sql = "Select * from local where fantasia not in (select estabelecimento from dados_vendas where fantasia = estabelecimento.fantasia)"Set rs = Conexcao.Execute(Sql)%>
e deu erro

Microsoft OLE DB Provider for ODBC Drivers erro '80040e10' [Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1. /sis/compara_loja.asp, line 12

Onde errei???Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera mudei todas combinações e fica dando esse mesmo erro, tem hora que aparece eram esperados 1 tem hora que aparece eram esperados 2, mas não to conseguindo fazer funfar! http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera tentei fazer assim:

Sql = "Select estabelecimento from dados_vendas where estabelecimento not in EXISTS(select * from ficha_tecnica where estabelecimento = estabelecimento.estabelecimento)"
e deu o erro:

Microsoft OLE DB Provider for ODBC Drivers erro '80040e14' [Microsoft][Driver ODBC para Microsoft Access] Operador In sem () na expressão de consulta 'estabelecimento not in EXISTS(select * from ficha_tecnica where estabelecimento = estabelecimento.estabelecimento)'. /sis/compara_loja.asp, line 12

como posso resolver?Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais simples do q você imagina.. ehheeheh....

;)

SELECT * FROM estabelecimentos WHERE ID not in (SELECT ID_estabelecimentos FROM ocorrencias GROUP BY ID_estabelecimentos)

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu certo! fiz assim:

Sql = "SELECT * FROM local WHERE fantasia not in (SELECT estabelecimento FROM dados_vendas GROUP BY estabelecimento)"

mas como faço para colocar um order by?tentei assim

Sql = "SELECT * FROM local WHERE fantasia not in (SELECT estabelecimento FROM dados_vendas GROUP BY estabelecimento order by cod)"

Mas não funfa.Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera consegui colocar o order by!Graças os sites que o Lucas me passou da SQLs Valeu carinha!!AbraçosAgora o que estou em dúvida que tentei algumas vezes é usar o Count nessa função.Veja como fiz:

Sql = "SELECT Count(*) FROM local WHERE fantasia not in (SELECT estabelecimento FROM dados_vendas GROUP BY estabelecimento) order by cod"
e da o erro:

Microsoft OLE DB Provider for ODBC Drivers erro '80040e14' [Microsoft][Driver ODBC para Microsoft Access] Você tentou executar uma consulta que não inclui a expressão 'cod' especificada como parte de uma função agregada. /sis/testes/compara_loja.asp, line 14

Não entendi direito como usar o Count...Se alguem puder me explicar agradeceria!

Compartilhar este post


Link para o post
Compartilhar em outros sites

CONSEGUI!!!!!!!!!!!!!!!!!!!!!! aeeeeeeeeeeeeeeeeeeeeee

 

fiz assim:

 

criei uma outra SQL só para a contagem!

 

 

Sql2 = "SELECT Count(*) as contar FROM local WHERE fantasia not in (SELECT estabelecimento FROM dados_vendas)"Set rs2 = Conexcao.Execute(Sql2)

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.