Ir para conteúdo

Arquivado

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

ultra

probleminha tá difícir

Recommended Posts

Olá companheiros de trabalho !

 

Estou com um pequeno problema em montar uma SQL (por não manjar muito). Eu e o chefe aqui estamos com dificuldades de montar uma SQL, devido aos campos serem um pouco complicados, e não conhecermos todas as funções do SQL. Quem puder me dar uma ajudinha, seria muito grato http://forum.imasters.com.br/public/style_emoticons/default/joia.gif (Tem q ser por somente comando SQL)

 

Tenho uma tabela, onde há 2 campos (nome, ultima atualização) que fazem ligações com outras tabelas, mas o mais importante está nessa.

 

A pessoa, quando faz alguma alteração no seu cadastro, grava automaticamente a data/hora do momento, e o nome dela numa tabela x. O que queremos fazer é selecionar um registro por pessoa, contendo nome e sua última atualização. Não consigo achar alguma instrução para selecionar somente isto. Tá dificir

 

Os campos da tabela estão assim:

 

Atualizacao | nome

------------------------------|-----------

2003-11-20 00:00:00.000 Zé

2003-12-20 00:00:00.000 Zé

2003-12-25 00:00:00.000 Zé

2005-01-20 00:00:00.000 Maria

2005-01-22 00:00:00.000 Maria

 

alguém sabe como fazer a select ? Agradeço desde já a ajuda http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu ainda naum entendi oque você quer!

<{POST_SNAPBACK}>

Tipo, eu precisava que o Sql me retornasse o registro com a última atualização de tal pessoa (mas isso pra todos os nomes dessa tabela)

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara ... acho que to com uma idéia .. você ja ouviu falar em UNION ???faz um SELECT usando o DISTINCT em uma coluna só e outro SELECT com a outra coluna ..dai você coloca o UNION ... num sei muito bem como ficaria mais da uma pensada sobre isso ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara  ...

 

acho que to com uma idéia ..  você ja ouviu falar em UNION ???

 

faz um SELECT usando o DISTINCT em uma coluna só e outro SELECT com a outra coluna ..dai você coloca o UNION ... num sei muito bem como ficaria mais da uma pensada sobre isso ...

<{POST_SNAPBACK}>

Não cara! a função do union é colocar mais de um recodset em 1 só!

e ele não tem mais que uma tabela pelo que eu percebi!

 

e se você fazer assim:

 

ASP

[*]Select DISTINCT nome, atualizacao from Tabela where atualizacao < NOW ORDER BY atualizacao DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente com isso:

Select Max(Atualizacao), nome From Tebela Where Nome In (Select Distinct(Nome) From Tabela) Order By Nome;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Explore o seu código me deu erro no NOW (o SQL não tá reconhecendo o now).... mas fazendo esse seu código, ele iria me retornar todos os registros onde a atualização é menor q agora certo ? mas aí retornaria todas não ?Salgado funcionou !! ele tá me retornando os 2 campos (última atualização e nome) e era isso q eu precisava !! Valeu !! Só precisei mudar o Order by por Group bySó +1 duvida: me retornou 2 campos, certo ? agora eu precisava pegar somente o campo NOME pra inserir em outra select. Vou fazer o seguinte:

Select * from tabela_x where nome in (sSelect Max(Atualizacao), nome From Tebela Where Nome In (Select Distinct(Nome) From Tabela) Group By Nome)

Então, se eu fizer do jeito q está, ele me volta o erro dizendo q há mais de um campo.... preciso somente selecionar o campo Nome na segunda select, mas sem o campo Max(Atualizacao) ele não funciona...... podem me dar outro Help ??[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer selcecionar na Tabela_x os nomes que aparecem na outra Tabela?

É só fazer assim:

Select * From tabela_x Where nome In (Select Distinct(Nome) From Tabela);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo Salgado, mas aplicando isso no código lá de cima (aquele dos campos atualização e nome) eu perderia as últimas atualizaçõesÉ dificil explicar, pois preciso selecionar apenas o campo NOME, mas que tenham a última atualização de cada NOMENão sei se isso é possível no SQL[]'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.