В SQL ниже столбец Bank возвращает строку emty (''), если select не может найти значение в таблице поиска. Вместо того, чтобы пустая строка, я хочу показать значение в поле b.BankNameЗаполните столбец со значениями из двух местоположений
SELECT
' ' AS DUMMY,
c.CustomerNumber AS DirectDebitRef,
(SELECT replace(bankname, 'Other (please specify)', '')
FROM Banks
WHERE bankid = b.bankid) AS Bank,
b.SortCode AS SortCode
FROM
dbo.Customers AS c
INNER JOIN dbo.CustomerBanks AS b ON c.CustomerBankId = b.CustomerBankId
INNER JOIN dbo.View_CustomerBillingsToday AS v ON c.CustomerId = v.CustomerId
INNER JOIN dbo.CustomerAddressBillings AS s ON c.CustomerAddressBillingId = s.CustomerAddressBillingId
В тот момент я добавляю b.BankName я получаю NULL вывод всех строк, которые имеют действительный поиск. Если я заменил b.BankName на «x», я получаю значение во всех строках. Так что я знаю, что замена будет работать, но когда я пытаюсь ссылаться на имя_поле, который работает, но обнуляет все остальные строки
replace((SELECT bankname
FROM Banks
WHERE bankid = b.bankid), 'Other (please specify)', b.BankName) AS Bank
Что такое поле 'b.Other'? –
Его поле, в котором хранится строка, когда список перетаскиваний не удерживает элемент – John
Итак, вы говорите, что вы хотите, чтобы 2 поля в выводе - 'имя банка', когда оно находится в списке, и' other', когда оно не является «т? –