Ir para conteúdo

Arquivado

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

Rodrigo1

[Resolvido] Sistema

Recommended Posts

Fala Galera...

 

Estou fazendo um sistema para a empresa...

 

Nele tem uma tela que chama 'pqParou'

 

Nessa tela eu quero pegar os clientes que nao compram faz mais de 2 anos...

 

Eu pensei em usar o not between, mais se o cliente tiver uma compra em 2005 e outra em 2009 vai aparecer que ele nao compra desde 2005, sendo que naop é verdade...

 

Resumindo...Preciso pegar todos os clientes que nao compram desde 2007...

 

Alguem tem alguma sugestao?!

 

Mto agradecido galera...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar tabelas temps ou uma subselect. Exemplo:

 

SELECT CLI_CODIGO, CLI_NOME
FROM TB_CLIENTE WITH(NOLOCK)
WHERE CLI_CODIGO NOT IN (SELECT CLI_CODIGO 
										  FROM TB_CLIENTE WITH(NOLOCK)
										  INNER JOIN TB_VENDAS WITH(NOLOCK) ON (CLI_CODIGO = VDA_CLICODIGO)
										  WHERE VDA_DATA BETWEEN '2007-01-01 00:00:00' AND '2009-04-01 23:59:59')

A idéia seria +/- essa.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew chrnos!!!!

 

Tenho que sair mais cedo do trampo hj....

 

Amanha a primeira coisa sera terstar...entao passo a resposta!

mto obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

haha!

 

Irado...Funcionou do jeito

 

Preciso estudar subqueries....

 

Só mais uma coisa...

o q é o 'NOLOCK'?

 

Valew mesmo mano!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Table Hint (Transact-SQL)

 

NOLOCK

Is equivalent to READUNCOMMITTED. For more information, see READUNCOMMITTED later in this topic.

 

READUNCOMMITTED

Specifies that dirty reads are allowed. No shared locks are issued to prevent other transactions from modifying data read by the current transaction, and exclusive locks set by other transactions do not block the current transaction from reading the locked data. Allowing dirty reads can cause higher concurrency, but at the cost of reading data modifications that then are rolled back by other transactions. Reading modifications that are then rolled back may generate errors for your transaction, or present users that have data that was never committed.

 

READUNCOMMITTED, and NOLOCK, cannot be specified for tables modified by insert, update, or delete operations. The SQL Server query optimizer ignores the READUNCOMMITTED and NOLOCK hints in the FROM clause that apply to the target table of an UPDATE or DELETE statement.

Fonte: Help MySql Server 2005

 

Em outras palavras... serve para fazer consulta a dados sem os bloquear na base, permitindo que outros usuários acessem e alterem os mesmos enquanto sua consulta está ativa na base de dados.

 

[]'s

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.