2015-09-15 1 views
0

Я работаю на Microsoft SQL Server 2014 и у меня есть следующий запрос SQL, который работает:SQL - имея выражение> 0

SELECT 
    h.entidade, h.datadoc, h.tipodoc, h.numdoc, 
    (SELECT valortotal - 
     (SELECT COALESCE(SUM(l.valorrec), 0) 
      FROM LinhasLiq as l 
      INNER JOIN cabliq ON l.IdCabLiq = CabLiq.id 
      INNER JOIN Historico ON L.IdHistorico = Historico.id 
      WHERE cabliq.DataDoc < '01/05/2015' 
      AND historico.id = h.id)) as 'valor pendente', 
    coalesce(documentosCCT.Descricao,'') 
+' '+ CASE WHEN h.modulo<>'V' THEN coalesce(documentosVenda.Descricao,'') else'' END 
+' '+ coalesce(h.descricao,'') AS descricaogeral 
FROM 
    Historico h 
LEFT JOIN 
    documentosCCT ON h.TipoDoc = documentosCCT.Documento 
LEFT JOIN 
    documentosVenda ON h.Tipodoc = documentosVenda.Documento 
WHERE 
    h.entidade = 'ta0141' AND 
    (h.tipoentidade = 'C' OR h.tipoentidade = 'F') 
ORDER BY 
    datadoc ASC 

и это конкретное выражение

(select valortotal - (SELECT COALESCE(SUM(l.valorrec),0) from LinhasLiq as l 
    inner join cabliq on l.IdCabLiq = CabLiq.id 
    inner join Historico on L.IdHistorico = Historico.id 
    where cabliq.DataDoc < '01/05/2015' and historico.id = h.id)) as 'valor pendente' 

возвращает много 0, так как я могу поместить все это выражение в предложение X> 0 или любым другим способом, если строки с этим выражением = 0 не отображаются?

Большое спасибо.

+0

Я думаю, что это легче сделать мой пункт, используя реальный пример – Caetano

+0

Использование КТР, возможно? – jarlh

+0

Опрос и ответ не только для взаимодействующих лиц. Он будет там, даже вам это не нужно, но он должен быть полезен для других людей. – Lali

ответ

1

я не знаю, что ваши обстоятельства, если это возможно попытаться сделать запрос в одном select заявлении вместо нескольких Не делайте псевдоним valor pendente как это должно быть valorpendente

Теперь вы можете использовать CTE

;WITH CTE AS 
(
-- YOUR QUERY 
) 

SELECT * FROM CTE 
WHERE valorpendente > 0 
+0

Он работает! Большое вам спасибо – Caetano

+0

@ Каэтано рад, что это вам поможет :) – wiretext

 Смежные вопросы

  • Нет связанных вопросов^_^