Code: Detail

Especializações:Asp.net, Ajax, C#, Visual Basic.net, Wcf, XML FrameWork .net 1.1, 2.0 e 4.0, OO, Design Patterns Arquitetura SOA, DDD, MVP e MVVM Html, Css, JavaScript Sql Server 2000, 2005 e 2008 Oracle 8i e 9i Asp3, Visual Basic 6 e COM+

SqlServer+Tsql - (Portuguese)

Select priorizando registros com RANK() OVER ...

Nesta situação eu precisava alterar um campo da tabela <tabela> incluindo 'S' somente se o ultimo reg da tabela <dadospriorizados> de CADA CLIENTE estivesse sido Marcado.

Last update: 08/04/2010
SqlServer+Tsql       
 
10
1
N/A
1
 

/* -----------
REGRA: Eu sei que ele esta marcado se o mesmo estiver na tabela
<dadospriorizados> e possuir o valor 1 no campo dadospriorizados_Evtid
------------- */


WITH tmpdadospriorizados
AS
	(
	 SELECT *
	  , RANK() OVER (PARTITION BY dadospriorizados_CdCliente ORDER BY dadospriorizados_Data desc, dadospriorizados_CdCliente,dadospriorizados_EventoId) as PRIORIDADE
	 FROM dbo.tbTrilhaAuditoria c
	)

	update tabela
	set flProcessamentoEfetuado = 'S'
	from	tabela a
		inner join  tmpdadospriorizados b
		on a.cdcliente = b. dadospriorizados_cdcliente
	where prioridade = 1
	and  dadospriorizados_EvtId = 1

Source:
 
Users who have marked this routine as a favorite
 
 
08/04/2010 21:43:22
Legal, 
Esse Rank() eu não conhecia...
Vai ser muito util no meu dia a dia...hehehe

 
The site ti4fun is not responsible for the content on sites for which you have external links

Articles, routines, tips, forums, blogs or any other content posted on ti4fun site is not tested and not validated, so you should test and validate any information collected on the ti4fun site before applying it to final use environment, such as example, production. the TI4FUN site is not responsible for quality or for any damages, direct, indirect or consequential, from use of any content posted by the authors in the site.

All content published on the ti4fun site is the responsibility of the author and do not necessarily express the views of the site ti4fun and its employees.