Usuário com melhor resposta
Case com valor null e e com valor

Pergunta
-
Prezados na Sql Abaixo ate entao esta facil,porem agora esta com a seguinte duvida,
SQl
SELECT
B
.HISTORICO,B
.IDDEVOLUCAO,H
.DESCRICAO+ ' - '+SPACE(1) + B.HISTORICOFROM
FLAN B
LEFT
JOIN FLANCONT AS C ON C.CODCOLIGADA = B.CODCOLIGADA AND C.IDLAN = B.IDLAN
LEFT
JOIN CHISTP AS H ON H.CODCOLIGADA = C.CODCOLIGADA AND H.CODHISTP = C.CODHISTP
WHERE
B
.IDLAN = '98759'AND
B.TIPOCONTABILLAN=
'2'
AND
TIPO =
'1'
AND
((B.DATABAIXA >= '2010-01-01' AND B.DATABAIXA <= '2010-12-31')
OR
(
B.DATABAIXA >= '2010-01-01' AND B.DATABAIXA <= '2010-12-31'))
Resultado
Devolução de Compras de Materiais Uso 98758 VR - Devolução de Compras de Materiais Uso
O que eu preciso, seria fazer uma casa quando a condição B.IDDEVOLUCAO IS NOT NULL, pegasse o B.HISTORICO , E Quando fosse o B.IDDEVOLUCAO fosse null pegasse o H.DESCRICAO+ ' - '+SPACE(1) + B.HISTORICO.
agradeço a ajuda de todos
Respostas
-
Ronnie Von, acredito que seja isto..
SELECT
B.HISTORICO,
B.IDDEVOLUCAO,
H.DESCRICAO + ' - '+SPACE(1) + B.HISTORICO,
(CASE WHEN B.IDDEVOLUCAO IS NULL
THEN H.DESCRICAO+ ' - '+SPACE(1) + B.HISTORICO ELSE
B.HISTORICO END) AS CAMPO
FROM FLAN B
LEFT JOIN FLANCONT AS C ON C.CODCOLIGADA = B.CODCOLIGADA AND C.IDLAN = B.IDLAN
LEFT JOIN CHISTP AS H ON H.CODCOLIGADA = C.CODCOLIGADA AND H.CODHISTP = C.CODHISTP
WHERE B.IDLAN = '98759' AND B.TIPOCONTABILLAN= '2' AND B.IDDEVOLUCAO IS NOT NULL
AND TIPO = '1' AND ((B.DATABAIXA >= '2010-01-01' AND B.DATABAIXA <= '2010-12-31')
OR (B.DATABAIXA >= '2010-01-01' AND B.DATABAIXA <= '2010-12-31'))- Marcado como Resposta Ronnie Von segunda-feira, 21 de março de 2011 19:17
-
Rafael, meu muito Obrgado me ajudou muito.. valeu
- Marcado como Resposta Ronnie Von segunda-feira, 21 de março de 2011 19:16
Todas as Respostas
-
Ronnie Von, acredito que seja isto..
SELECT
B.HISTORICO,
B.IDDEVOLUCAO,
H.DESCRICAO + ' - '+SPACE(1) + B.HISTORICO,
(CASE WHEN B.IDDEVOLUCAO IS NULL
THEN H.DESCRICAO+ ' - '+SPACE(1) + B.HISTORICO ELSE
B.HISTORICO END) AS CAMPO
FROM FLAN B
LEFT JOIN FLANCONT AS C ON C.CODCOLIGADA = B.CODCOLIGADA AND C.IDLAN = B.IDLAN
LEFT JOIN CHISTP AS H ON H.CODCOLIGADA = C.CODCOLIGADA AND H.CODHISTP = C.CODHISTP
WHERE B.IDLAN = '98759' AND B.TIPOCONTABILLAN= '2' AND B.IDDEVOLUCAO IS NOT NULL
AND TIPO = '1' AND ((B.DATABAIXA >= '2010-01-01' AND B.DATABAIXA <= '2010-12-31')
OR (B.DATABAIXA >= '2010-01-01' AND B.DATABAIXA <= '2010-12-31'))- Marcado como Resposta Ronnie Von segunda-feira, 21 de março de 2011 19:17
-
Rafael, meu muito Obrgado me ajudou muito.. valeu
- Marcado como Resposta Ronnie Von segunda-feira, 21 de março de 2011 19:16