Ir para conteúdo

POWERED BY:

Arquivado

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

horacio2009

subquery

Recommended Posts

boa tarde a todos!!!

segunte,pessoal, estou fazendo uma pesquisa que puxa os dados de negociação de uma tabela, aí, sei se o cliente foi negociado, agendado, se era cliente de outra empresa e tal...

porém, quero tbm saber se foi pago, aí, preciso puxar os dados de outra tabela, estou usando uma subquery, mas meio atrapalhado aqui, confesso!!

a query está assim:

 


SELECT count(status)as total, status,quando,quem,pago=('select * from negociacao where solicitante='153' AND negociacao='1' AND pago between '2010-10-30 10:00:01' AND '2010-11-29 14:27:20'') , origem as teste FROM `movimentos` WHERE quem in('153') AND quando between '2010-10-30 10:00:01' AND '2010-11-29 14:27:20' AND status not in('') AND origem not in('0','','entrada','pesquisa') group by status, origem order by origem

o valor de pago é sempre '0',eu criei apenas para ajudar na query...

enfim pessoal, estou precisando de uma ajuda de vocês!!!!

Valeu, galera!!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, seguinte, você tinha razão...usei o inner join e cheguei num resultado mais proximo do que eu esperava... aí, ficou assim:

(ainda estou "lapidando" a pesquisa, digamos assim...não está pronta, mas, bem mais perto que antes...)

Select
  movimentos.codigo,
  movimentos.oque,
  movimentos.quando,
  movimentos.status,
  movimentos.comentario,
  negociacao.solicitante,
  negociacao.origem,
  negociacao.pago, 
  movimentos.quem
From
  movimentos Inner Join
  negociacao On movimentos.quem = negociacao.solicitante WHERE  negociacao.solicitante='87' AND movimentos.quando between '2010-10-01 00:00:00' AND '2010-11-31 00:00:00' AND movimentos.origem not in('0','','entrada','pesquisa') group by movimentos.status, movimentos.origem, negociacao.pago
PORÉM...

usei essa query no servidor "A" e tudo correu sem qualquer problema, foi rápido e tal...

aí, usei no servidor "B" , servidor esse , onde os operadores estão trabalhando( e onde tem apresentado constantes quedas, diga-se de passagem...)bom, além de ficar uma boa porção de minutos, ainda acabou tornando lento o trabalho dos demais...

A query tá certa???? digo, tem como melhora-la???

ou é problema no servidor de banco de dados, mesmo???

lá eles vivem falando que meu sistema (hospedado lá)consome muitos recursos e por isso, "cai" toda hora...

essa query, por que fica tão pesada assim nesse segundo host?pode ser numero excessivo de registros?

o que vocês acham?

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.