Изменить запрос под условие

Рейтинг: 0Ответов: 0Опубликовано: 27.02.2023

мне нужно, чтобы если kr = null, то убираем из условия "dat = 0323". Как бы можно было это реализовать?

select * ,
    case when kr is null then 'НЕ ПОДАН'
        else substring(kr,9,2)+'.'+substring(kr,6,2)+'.'+substring(kr,1,4)
    end as kroy,
    case when substring ([Наименование],1,1) ='*'
        then NULL
        else dz
    end as data_zapuska,
from (
    select
        mex_cex.dbo.model.id_model,
        mex_cex.dbo.model.kod_modeli as 'km',
        mex_cex.dbo.model.kod_modeli as 'Код модели',
        case when mex_cex.dbo.model.kod_modeli in (
                select distinct Model_ID
                from [NSI].[dbo].[SprInfoModel]
                where Date_Starting between '01.03.2023' and '31.03.2023'
            )
            then nsi.dbo.SprMod.NP
            else '* ' + nsi.dbo.SprMod.NP
        end as 'Наименование',
        mex_cex.dbo.model.familiya as 'Технолог',
        mex_cex.dbo.model.status as 'Статус',
        mex_cex.dbo.model.status2 as 'Статус2',
        DATENAME(month, mex_cex.dbo.model.period) AS 'Период ',
        data_zapuska as dz,
        rez_priemki,
        data_priemki,
        prim_ipk,
        isnull(
            isnull(
                (select top 1 smu.KU
                from NSI.dbo.SprModUh smu
                where smu.MOD = mex_cex.dbo.model.kod_modeli and smu.KU is not null
                order by dat desc),
                (SELECT top 1 [ku] FROM [1201].[dbo].[Plane_PM] where km = mex_cex.dbo.model.kod_modeli and ku is not null)
            ),
            (SELECT top 1 [ku] FROM [1201].[dbo].[Plane] where km = mex_cex.dbo.model.kod_modeli and ku is not null)
        ) as uch,
        cast(cast((
            SELECT min([DT1])
            FROM [CRB].[dbo].[M070102]
            WHERE m = mex_cex.dbo.model.kod_modeli and dat = 0323
        ) as date) as varchar) as kr
    from mex_cex.dbo.model
    left join nsi.dbo.SprMod on mex_cex.dbo.model.kod_modeli = nsi.dbo.SprMod.M
    where mex_cex.dbo.model.period = '01.03.2023'
) a
order by case when substring(a.[Наименование], 1, 1) = '*'
                then '11'
                else '0'
         end,
         uch,
         cast(rtrim(ltrim(a.[Код модели])) as int)

Ответы

Ответов пока нет.