即使没有结果SQL也会返回值

问题描述 投票:0回答:1

即使结果为空,如何获取值?

我的查询是

select MEDIA_ID,BARCODE,COUNT(MEDIA_ID) OVER() AS 'NUM',USE_BY_DATE
 from MEDIA_V
 where PRODUCT_NUMBER='9SattlePlates'
 and SUBLOT_PARENT_ID  IS NOT NULL
 and RESERVED_BATCH_ID IS NULL
 and QUANTITY > 0
 AND USE_BY_DATE < GETDATE()

现在我只有列名,但我需要“0”或至少一些东西。这可能吗?

sql sql-server count
1个回答
0
投票

我找到了这个解决方案,但是还有其他方法吗?

IF (select SUM(COUNT(MEDIA_ID)) OVER() AS 'NUM'
             from MEDIA_V
             where PRODUCT_NUMBER='9SattlePlates'
             and SUBLOT_PARENT_ID  IS NOT NULL
             and RESERVED_BATCH_ID IS NULL
             and QUANTITY > 0
             AND USE_BY_DATE < GETDATE())>0
  BEGIN 
    (select MEDIA_ID,BARCODE,COUNT(MEDIA_ID) OVER() AS 'NUM',USE_BY_DATE
 from MEDIA_V
 where PRODUCT_NUMBER='9SattlePlates'
 and SUBLOT_PARENT_ID  IS NOT NULL
 and RESERVED_BATCH_ID IS NULL
 and QUANTITY > 0
 AND USE_BY_DATE < GETDATE())
 END
  ELSE 
    select 0 as 'NUM'
© www.soinside.com 2019 - 2024. All rights reserved.