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

SQL获取唯一记录:存储过程中筛选PlanIsValid为1或NULL的记录

解决方案

没问题,我帮你调整查询语句,刚好能满足你保留PlanIsValid字段值为1或NULL的需求:

Select ui.ID, sp.PlanName, sp.PlanIsValid 
from Usersinfo ui 
left join SubscriptionPlan sp on ui.ID = sp.UserID
WHERE sp.PlanIsValid = 1 OR sp.PlanIsValid IS NULL;

说明

因为你用的是左连接,当Usersinfo中的用户没有对应的SubscriptionPlan记录时,sp表的所有字段都会返回NULL,包括PlanIsValid。上面的WHERE条件会同时保留两种情况:

  • 存在订阅计划且PlanIsValid为1的记录
  • 没有匹配订阅计划(即PlanIsValid为NULL)的用户记录

这个写法是标准SQL,在大多数数据库(比如MySQL、SQL Server、PostgreSQL)里都能正常运行。

内容的提问来源于stack exchange,提问作者shami sheikh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:22:03