Muhammad Islam Mazoor Ответов: 1

Как получить нулевой сегмент в результате?


Я пытаюсь получить значение столбца, которое равно нулю, но не могу этого сделать.

Что я уже пробовал:

У меня есть ниже запрос, и он дает все результаты, включая Null, а также. Но мне нужно фильтровать на основе комментируемых сегментов, и мне также нужно нулевое значение. Не требуйте сегментов, кроме нижеприведенного фильтра(комментируется в настоящее время)

Select distinct SegmentID,Sum(distance) as TotalDistance from [dbo].[tblBookingContent] 
where Orgnization = 'REGERINGSKANSLIET' --and segmentid in ('LUX001S02','LUX001S11','SWE001S03','SWE001S09','SWE001S14','SWE001S20','SWE001S15','SWE001S23')
and IsV4 in (0,1) 
and departuredate between 
convert(datetime, '2016-07-01', 110) and 
convert(datetime, '2016-09-30', 110) and MPSS= 1
and BookingNumber not in (select BookingNumber from tblBookingContent where BookingStatus=1)
group by SegmentId



SegmentID / Расстояние
========== | =========
Нуль | 28088.9700
SWE001S02 | 125.0990
SWE001S03 | 9295.0810
SWE001S06 | 710.4410
SWE001S09 | 15510.0310
SWE001S11 | 733.4110

ожидаемый результат
===============

SegmentID / Расстояние
========== | =========
Нуль | 28088.9700
SWE001S03 | 9295.0810
SWE001S09 | 15510.0310

1 Ответов

Рейтинг:
6

jamuro77

Это кажется легким, я не уверен, что пойму, но попробуйте вот это:

Select distinct SegmentID,Sum(distance) as TotalDistance from [dbo].[tblBookingContent] 
where Orgnization = 'REGERINGSKANSLIET' 
and (segmentid is null or segmentid in ('LUX001S02','LUX001S11','SWE001S03','SWE001S09','SWE001S14','SWE001S20','SWE001S15','SWE001S23'))
and IsV4 in (0,1) 
and departuredate between 
convert(datetime, '2016-07-01', 110) and 
convert(datetime, '2016-09-30', 110) and MPSS= 1
and BookingNumber not in (select BookingNumber from tblBookingContent where BookingStatus=1)
group by SegmentId