У меня есть скрипт:
SELECT
dtypcode,
debtornum AS 'Debtor Number',
debtorchk AS 'Check Digit',
balancedr AS 'Debit Balance',
balancecr AS 'Credit Balance' ,
balancedr + balancecr AS 'Balance'
FROM
[pthdbo].[ldrdtyp] A
JOIN
[pthdbo].[ldrdbtr] B ON A.tpkldrdtyp = B.tfkldrdtyp
WHERE
((balancedr + balancecr) > '0'
OR (balancedr + balancecr) < '0')
--debtornum = '921835'
AND dtypcode = 'OODEB'
Возвращает следующее:
OODEB 921846 1 550.00 -380.00 170.00
OODEB 922009 5 715.00 -725.00 -10.00
однако, если мы посмотрим только на долговую нагрузку '921835', мы увидим следующее:
OODEB 921835 4 200.00 NULL NULL
Из-за того, что Кредитный баланс заимствованного долга '921835' равен NULL, а не 0, вычисления не работают и не отображаются в результате запроса в виде баланса.
Мы не хотим обновлять таблицу, чтобы она отражала 0, где она может быть NULL - может ли кто-нибудь пролить свет на решение, которое преобразует любые значения NULL в поля «Дебет-баланс» или «Кредитный баланс» на fly ', чтобы баланс был отражен, если в таблице есть либо кредитный баланс, либо дебетовый баланс вместе с NULL для другого столбца.
Заранее спасибо,
JR