Boa tarde pessoal,
Tenho uma grande dúvida e gostaria de compartilhar com os senhores, para que alguém eventualmente venha a me ajudar com a solução.
Tenho a seguinte situação:
Uma tabela de contas a receber 'Tab_CR' que contém os campos "CR_CLIENTE, CR_PAGO, CR_ABERTO, CR_STATUS", estou fazendo uma consulta via SQL para obter os seguintes valores: Valor pago à vencer e vencido, valor vencido e valor total por cliente. Logo cheguei nas seguintes Queries:
Valor vencido pago:
SELECT sum(Tab_CR.CR_PAGO) AS Soma_CR_PAGO
FROM Tab_CR
WHERE (((Tab_CR.CR_CLIENTE)='Cliente exemplo') AND (Tab_CR.CR_STATUS)='Vencido'))
Valor vencido à pagar:
SELECT sum(Tab_CR.CR_PAGO) AS Soma_CR_PAGO
FROM Tab_CR
WHERE (((Tab_CR.CR_CLIENTE)='Cliente exemplo') AND (Tab_CR.CR_STATUS)='À vencer'))
Etc.
Porém, quando minha consulta não atende todos os critérios do WHERE (Ex: Um cliente que não tenha valor pago à vencer), a query retorna o valor vazio. Gostaria de saber como posso fazer com que nesses casos o valor retornado seja igual a 0.
Já testei várias fomars, porém nenhuma me atendeu e continuo com o campo vazio. Por exemplo:
SELECT IIF(ISNULL(sum(Tab_CR.CR_PAGO),0,sum(Tab_CR.CR_PAGO) AS SOMA_CR_PAGO;
SELECT IIF(ISEMPTY(sum(Tab_CR.CR_PAGO),0,sum(Tab_CR.CR_PAGO) AS SOMA_CR_PAGO;
SELECT SWITCH...
SELECT NZ...
A única coisa que consigo ver, é que o retorno está sendo vazio porque existe uma linha do cliente, porém não atende aos critérios do WHERE, não é IsNull, nem IsEmpty.
Estou com essa limitação no momento e ficaria extremamente agradecido caso alguém consiga me ajudar a dar uma solução ao caso.
Agradecido desde já.
Marcus Rocha
Tenho uma grande dúvida e gostaria de compartilhar com os senhores, para que alguém eventualmente venha a me ajudar com a solução.
Tenho a seguinte situação:
Uma tabela de contas a receber 'Tab_CR' que contém os campos "CR_CLIENTE, CR_PAGO, CR_ABERTO, CR_STATUS", estou fazendo uma consulta via SQL para obter os seguintes valores: Valor pago à vencer e vencido, valor vencido e valor total por cliente. Logo cheguei nas seguintes Queries:
Valor vencido pago:
SELECT sum(Tab_CR.CR_PAGO) AS Soma_CR_PAGO
FROM Tab_CR
WHERE (((Tab_CR.CR_CLIENTE)='Cliente exemplo') AND (Tab_CR.CR_STATUS)='Vencido'))
Valor vencido à pagar:
SELECT sum(Tab_CR.CR_PAGO) AS Soma_CR_PAGO
FROM Tab_CR
WHERE (((Tab_CR.CR_CLIENTE)='Cliente exemplo') AND (Tab_CR.CR_STATUS)='À vencer'))
Etc.
Porém, quando minha consulta não atende todos os critérios do WHERE (Ex: Um cliente que não tenha valor pago à vencer), a query retorna o valor vazio. Gostaria de saber como posso fazer com que nesses casos o valor retornado seja igual a 0.
Já testei várias fomars, porém nenhuma me atendeu e continuo com o campo vazio. Por exemplo:
SELECT IIF(ISNULL(sum(Tab_CR.CR_PAGO),0,sum(Tab_CR.CR_PAGO) AS SOMA_CR_PAGO;
SELECT IIF(ISEMPTY(sum(Tab_CR.CR_PAGO),0,sum(Tab_CR.CR_PAGO) AS SOMA_CR_PAGO;
SELECT SWITCH...
SELECT NZ...
A única coisa que consigo ver, é que o retorno está sendo vazio porque existe uma linha do cliente, porém não atende aos critérios do WHERE, não é IsNull, nem IsEmpty.
Estou com essa limitação no momento e ficaria extremamente agradecido caso alguém consiga me ajudar a dar uma solução ao caso.
Agradecido desde já.
Marcus Rocha