当前位置: 首页 > 面试题库 >

如果没有找到记录,SQL select返回0,否则返回值

杜禄
2023-03-14
问题内容

我现在正在使用Microsoft SQL,我的代码是:

   SELECT TOP 1 
   [avail]
   FROM [table1]
   where [name] = 'abc'
   order by [datetime] desc

我希望当[avail]存在时,返回[avail]的值,如果不存在,则返回0或“未找到”

谢谢!


问题答案:

你可以用这个

SELECT ISNULL(( SELECT TOP 1 
   [avail]
   FROM [table1]
   where [name] = 'abc'
   order by [datetime] desc), 0) AS [avail]


 类似资料:
  • 问题内容: 我每月都有一组职位。现在,我需要一个数组,其中包含每个月发布的帖子总数。我尝试下面的MySql查询,它的工作正常,但我期望0(零)几个月没有记录。在这里,它不返回0。 我读到COUNT()不会返回“ 0”,那么我该如何实现呢? 我尝试了IFNULL()和COALESCE(),但仍然得到相同的结果。请帮助此查询。谢谢你...... 结果: 预期结果(没有一月份的职位): 样本数据: 问题

  • 问题内容: 我在node.js中编写一个函数来查询PostgreSQL表。 如果该行存在,我想从该行返回id列。 如果不存在,我想将其插入并返回ID()。 我一直在尝试和语句的变体,但似乎无法使其正常工作。 问题答案: 我建议在数据库端进行检查,然后将ID返回给nodejs。 例子: 而不是在Node.js端(在此示例中,我使用的是node-postgres):

  • 问题内容: 我有以下选择语句,以获取流的下一个预定项目。如果没有匹配的行,我希望它返回默认值。这是我正在使用的行: 那应该可以获取最近计划的项目,但如果它早于查询之前30分钟,则不会。但是,如果用户未安排任何时间,则我需要一个默认值,以便流中实际播放某些内容。我尝试了以下方法: 和: 但是,如果未找到任何行,它将始终返回空结果。我该如何返回默认值? 问题答案: 一种方法 由于只返回一行,因此可以使

  • 我的数据库中有两个表: 表1:购买物品 表1列出了购买的物品,表2每小时更新一次每件物品的当前价格。因此,从表2中可以清楚地看出,肉类最后一次交易是在2013年2月20日上午10点,而鱼类不是在同一天交易的,它是在2013年2月19日上午9点交易的,鸡肉是在2013年2月20日上午9点交易的。我想做的是,列出表1中的所有项目,并加入表2中各个项目的最后交易价格,如下所示: 这里应该应用什么类型的连

  • 问题内容: 我在查询中发现了一些问题,该查询从表中返回满足特定条件的所有记录的字段总和。当没有记录时,我希望收到“找不到记录”,但我收到的是空结果。 在这种情况下,有什么方法可以不接收任何记录? 问题答案: 这个怎么样:

  • 问题内容: 在MySQL中,是否可以将“总计”字段设置为零(如果它们为NULL)? 这是我所拥有的: 数据输出正常,但NULL字段应为。 如何在MySQL中为NULL返回0? 问题答案: 使用IFNULL: 从文档中: 如果expr1不为NULL,则IFNULL()返回expr1; 否则返回expr2。IFNULL()返回数字或字符串值,具体取决于使用它的上下文。