Pergunta

Aqui está um interessante ... espero que eu possa explicar bem ...

Eu tenho uma coleção de competições em um único mesa no meu SQL Server DB. Estou fazendo uma pesquisa de texto completo sobre eles, que funciona bem. No entanto, algumas das competições estão fechados, e eu quero que essas composições fechadas para aparecer após os comps abertas, respeitando ao mesmo tempo o posto que começa a partir de pesquisa de texto completo.

Então, se eu tinha uma feild pouco IsOpen, eu os teria ordenados por

ORDER BY IsOpen DESC, KEY_TBL.Rank DESC

Agora o problema é que eu não tenho um campo pouco IsOpen. Em vez disso, eu tenho um campo ClosedDate, que é uma data e hora.

Então, o que eu realmente preciso fazer é algo como:

ORDER BY (ClosingDate < GetDate()) ASC, KEY_TBL.Rank DESC

Alguém sabe como fazer isso?

Todas as idéias seria ótimo! Agradecemos antecipadamente.

-EV

Foi útil?

Solução

ORDER BY
  CASE
    WHEN (ClosingDate < GetDate())
    THEN 1
    ELSE 0
  END ASC,
  KEY_TBL.Rank DESC

Outras dicas

add (ClosingDate

select ... , add (ClosingDate < GetDate()) as Foo
from ...
where ...
order by foo

possivelmente adicionar (ClosingDate IF (add (ClosingDate

Eu não sei a sintaxe de que, se a função de cor, procurá-lo!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top