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

查询Advisor表指定条件记录无返回结果技术求助

问题分析与修正方案

你的查询未返回数据,核心是逻辑条件错误,同时存在字段名匹配问题,以下是修正后的查询和问题拆解:

修正后的SQL语句

SELECT *
FROM Advisor
WHERE 
  -- 第一类条件:AdvisorName为Julianne Frank且OpenedOn年份小于2022
  (AdvisorName = 'Julianne Frank' AND YEAR(OpenedOn) < 2022)
  -- 第二类条件:ReviewedOn为NULL,用OR分隔两类独立条件
  OR ReviewedOn IS NULL;

原查询的问题点

  • 逻辑运算符错误:你要检索的是两类任意满足其一的记录,但原查询用AND连接所有条件,要求同时满足所有条件,这大大缩小了匹配范围,甚至没有符合的记录。必须用OR分隔两个条件组,并用括号明确条件优先级。
  • 字段名不匹配:原查询中使用了AdvisorLName = 'Franke',但你说明表字段是AdvisorName(存储全名"Julianne Frank"),要么是你误写了字段名,要么是实际表结构中名字拆分存储,但根据你的描述,应该直接匹配AdvisorName = 'Julianne Frank'。
  • 字段名疑似笔误:你提到表包含OrderedOn字段,但查询中用了OpenedOn,如果表中实际没有OpenedOn,需要替换为OrderedOn,否则会报错或无结果。

额外验证建议

如果修正后仍无结果,可分步排查:

  • 单独执行SELECT * FROM Advisor WHERE AdvisorName = 'Julianne Frank' AND YEAR(OpenedOn) < 2022;,确认是否存在这类记录。
  • 单独执行SELECT * FROM Advisor WHERE ReviewedOn IS NULL;,确认是否存在ReviewedOn为NULL的记录。
  • 检查OpenedOn字段是否有有效值,是否存在年份小于2022的记录,避免因字段值为空导致YEAR()函数返回NULL,无法匹配<2022。

内容的提问来源于stack exchange,提问作者usama hussain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 15:10:18