Подскажите, пожалуйста, почему результаты, которые я получаю из следующего кода, неверны.
У меня есть 2 имени поля, одно с именем CheckAmount, а другое с именем ckeckNumber.
CheckNumber ofvarchar (25) и checkAmount имеют тип данных Money.
Каждый раз, когда сумма чека вставляется в БД, соответствующий номер чека также вставляется.
Однако, когда наличные деньги вставляются, checkNumberстолбец не заполнен.
Я пытаюсь вставить «Платеж наличными» в пустой столбец в столбце «Номер чека», когда код вставлен в столбец cashAmount со следующим кодом:
select
CASE
WHEN checknumber ='' AND isnull(checkAmount ,'0.0') is not null
THEN 'Cash Payment'
ELSE checknumber
END As checknumber
from mytable
Проблема дажеесли столбец чекового номера не пустой (необязательно нулевой), а сумма наличных не пустая (опять же, мы не говорим о нулевом), то в коде все еще вставляется «Наличный платеж»
Есть идеи?Я могу объяснить дальше, если это необходимо;Я не хочу быть слишком многословным.
25411025 25411025 16 1.00 1.0000
25411026 25411026 16 2.00 2.0000
x 0 0.00 0.0000
x 0 0.00 0.0000
x 0 0.00 0.0000
ClientID CheckNumber CheckAmount CashAmount
========== =========== =========== ==========
0000000340 25411025 1.00 0.00
0000000340 25411026 2.00 0.00
0000000340 0.00 3.00
0000000340 0.00 15.00
0000000340 0.00 0.00