You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在给定场景下编写MSSQL单SELECT查询语句获取对应结果表

实现语句

假设fruits表包含fruit_id(水果编号)、fruit_name(水果名称)字段,expiration表包含关联字段fruit_id、expirationDate(过期日期)字段,单条查询语句如下:

SELECT 
    f.fruit_id,
    f.fruit_name,
    CASE 
        WHEN MAX(CASE WHEN e.expirationDate IS NULL AND e.fruit_id IS NOT NULL THEN 1 ELSE 0 END) = 1 
        THEN '该水果存在过期日期为空的记录'
        ELSE 0
    END AS expiration_null_flag
FROM fruits f
LEFT JOIN expiration e 
    ON f.fruit_id = e.fruit_id
GROUP BY f.fruit_id, f.fruit_name
ORDER BY f.fruit_id

逻辑说明

  • 用LEFT JOIN关联两张表,确保所有水果记录都被保留,包括未在expiration表登记的编号为4的水果
  • 按水果维度分组,每个水果仅返回一条结果
  • 嵌套CASE判断:先识别expiration表中真实存在且过期日期为NULL的记录,取分组内最大值,存在这类记录则返回标注信息,其余场景均返回0,完全匹配需求规则

内容的提问来源于stack exchange,提问作者Grzegorz Kaczmarczyk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 04:06:05