Ir para conteúdo

POWERED BY:

Arquivado

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

horacio2009

query complicada...

Recommended Posts

Boa tarde a todos!!!

pulando muito carnaval pessoal?

rsrs

bom galera, é o seguinte...

estou executando essa query, ela toda tá funcionando e tal, tudo como manda o figurino, só que quando pedi para excluir as relações citadas abaixo

(relacao != 'site1' OR relacao != 'site2' OR relacao !='site3')

ele age como se não tivesse nenhum comando nesse sentido..tá mostrando tanto o site 1 qto site 2

enfim...como eu faço a filtragem correta desses 3 sistes??quando são muitas opções, não é usual colocar entre parenteses? como resolvo essa??

bom, por enquanto é isso!!

grande abraço a todos!!!

Horácio

SELECT DISTINCT nome, vendedor,codigo, relacao, nome, SUM( valor ) AS minha_soma
FROM controle_clientes WHERE mes_dig='2' AND ano_dig='2010' 
AND (relacao != 'site1' OR relacao != 'site2' OR relacao !='site3')
GROUP BY relacao ORDER BY minha_soma DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

você ta fazendo isso:

relacao != 'site1' OR relacao != 'site2'
no MySQL ou no PHP ?

 

Se for no MySQL é <>, não !=.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT DISTINCT nome, vendedor,codigo, relacao, nome, SUM( valor ) AS minha_soma
FROM controle_clientes WHERE mes_dig='2' AND ano_dig='2010' 
AND (relacao != 'site1' OR relacao != 'site2' OR relacao !='site3')
GROUP BY relacao ORDER BY minha_soma DESC
qual o erro que é retornado?

deixa eu ver se eu entendi bem.

Voce quer que apareça todos os vendedores sem os repetir, agrupados por relaçao.

voce digitou duas vezes nome, nao sei se isso pode estar interferindo em algo.

 

se voce agrupou por relação, acho que na fará diferença o distinct nome.

tenta dar group by relação, nome, ai sim cada relaçao e nome.

tenta ai, depois me diz se funfa.

abç e bom carnaval

Compartilhar este post


Link para o post
Compartilhar em outros sites

então...na verdade, não tem mensagem de erro, nem nada de warning...

o que ocorro é que, mesmo determinando quais as relações que eu não quero que apareçam, ele mostra de toda forma...

 

AND (relacao != 'site1' OR relacao != 'site2' OR relacao !='site3')

 

é como se essa linha não servisse para nada...determino algo porém, ele não mostra...

é esse o "erro" que aparaece, digamos assim...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Horacio, troque o OR por AND dentro dos parenteses, e me diga o resultado... Tinha esse problema constantemente, mas a verdade é que quando queremos o "contrário" (representado pelo != no teu código) não adianta botarmos OR....

 

Teste e nos diga

Compartilhar este post


Link para o post
Compartilhar em outros sites

refaz a sua logica,

ve se o ano e mesmo 2010 se o site 1 site 2, esta escrito igual como esta no banco.

nao adianta no banco estar escrito

site1 http://www.exemplo.com.br e voce no sql colocar www.exemplo.com.br ele vai retornar mesmo tudo.

um tem http:// e outro começa pelo www.

 

tenta 1 uma condiçao de cada vez

Compartilhar este post


Link para o post
Compartilhar em outros sites

$sql = ("SELECT DISTINCT nome, vendedor,codigo, relacao, nome, SUM( valor ) AS minha_soma FROM controle_clientes WHERE mes_dig='2' AND ano_dig='2010' AND relacao != 'site1' OR relacao != 'site2' OR relacao !='site3' GROUP BY relacao ORDER BY minha_soma DESC");

$resu =mysql_query($sql) or die("Erro ao executar a instrução [$sql]. Detalhes = " . mysql_error();

 

tenta ai...

se nao der coloca o erro aqui pra nos....

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT DISTINCT nome, vendedor,codigo, relacao, nome, SUM( valor ) AS minha_soma

FROM controle_clientes WHERE mes_dig='2' AND ano_dig='2010'

AND (relacao != 'site1' AND relacao != 'site2' AND relacao !='site3')

GROUP BY relacao ORDER BY minha_soma DESC

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.