Мне нужна помощь с THE CASE WHEN EXISTS, когда он выполняется, он успешно завершается, но оператор CASE WHEN Exists не отображает текущее значение, которое, как я знаю, не равно 0. Этот запрос работает с несколькими другими операторами tsql, которые янаписал, но не на этом по любой причине.Значения возвращаются, но отображаются как завершенные, что неверно, поскольку одна из настроек фактически установлена на 1.
declare @STIG varchar(255)
SET @STIG = 'MS SQL Server 2016 Database'
declare @STIG1 varchar(255)
SET @STIG1 = 'MS SQL Server 2016 Instance'
DECLARE @VID2 varchar(20)
set @VID2 = 'V-71'
CREATE TABLE #temp2 ([DatabaseName] varchar(100), [DatabaseOwner] varchar(100), [is_trustworthy_on] varchar(5))
INSERT INTO [#temp2] (DatabaseName, DatabaseOwner, is_trustworthy_on)
SELECT name as DatabaseName,
SUSER_SNAME(owner_sid) AS DatabaseOwner, is_trustworthy_on
FROM sys.databases
SELECT @@servername as [HostName], @VID2 as [V-ID], @STIG AS [STIG], (CASE WHEN EXISTS (
SELECT is_trustworthy_on
FROM #temp2
WHERE #temp2.is_trustworthy_on = 0)
Then CAST('Completed' AS varchar(12))
ELSE CAST ('Ongoing' AS varchar(12))
END) as [Status]
drop table #temp2
ВЫВОД для вышеупомянутого должен быть,
SERVEREXAMPLE \ Instance |V-71 |MS SQL Server ... |Текущая