Problemas com Where e Order By em dois campos diferentes?
27/09/2010
0
Bom a tabela esta assim
data1------------------data2
01/01/05--------------null
01/07/06--------------null
01/01/07-------------01/06/06
01/05/08-------------01/04/06
01/08/09-------------01/07/04
tenho no aplicativo duas situações no radiobutton
Se for a condição do radiobutton1 então faça o where da data1 <= a data que digitar no edit e ordenar pelo campo DATA1
Se for a condição do radiobutton2 então faça o where da data1 <= a data que digitar no edit e ordenar pelo campo DATA2
Ai que esta o meu problema... Existe um relatorio que verifica se a data2 esta vazia então mostra a data1
Mais fica dificil de eu conseguir ordernar e usar o where, pois o relatorio ja tratou estas condições, podendo aos olhos do usuarios ficar confuso a ordenação e a where também
Ai vendo esta possibilidade, achei uma solução para access
select
iif ([data2] is null, data1, data2)as data
from tabela
where data <= edit.text
order by 1
e no sql server usando um where
select case when
data2 is null then
data1
esle
data2
end as data
from tabela
where data <= edit.text
order by 1
Obs: Não testei a sintaxe dos exemplos acima...
Porém, a empresa aonde trabalho não quer que seja utilizado desta forma ai, ou seja preciso que seja feito esta regra para que sirva para os dois bancos sem usar o recurso de nenhum dos bancos acima citados.
Adriano Dolce
Posts
28/09/2010
Adriano Dolce
28/09/2010
Wilson Junior
SELECT DT_SALARIO AS Data, MOTIVO, VL_SALARIO, NR_HORAS_SEMANAIS FROM funSalario WHERE cd_empresa = 00003 AND cd_funcionario = 2 AND DT_VALIDADE_SALARIO IS NULL UNION ALL SELECT DT_VALIDADE_SALARIO AS Data, MOTIVO, VL_SALARIO, NR_HORAS_SEMANAIS FROM funSalario WHERE cd_empresa = 00003 AND cd_funcionario = 2 AND DT_VALIDADE_SALARIO IS NOT NULL ORDER BY 1
Espero ter colaborado.
28/09/2010
Adriano Dolce
Clique aqui para fazer login e interagir na Comunidade :)