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

如何筛选Credit列无空值的客户数据?

正确SQL查询方案:筛选所有Credit行非空的客户数据

需求说明

筛选出所有Credit行均不为空的客户,仅展示Client 1、Client 3、Client 4和Client 5的所有数据行。

原SQL问题分析

你提供的原SQL语句未生效,核心问题在于:

  • EXISTS子句未与外层表的Client字段关联,导致只要表中存在任意一行Credit='cred',就会返回所有数据,无法精准筛选目标客户
  • 未排除那些存在空Credit值的客户

原错误SQL:

SELECT *
  FROM table
 WHERE EXISTS (SELECT client FROM table WHERE [CREDIT] = 'cred')

正确SQL方案

方案一:使用NOT EXISTS排除存在空Credit的客户

通过关联子查询,排除存在Credit为空的客户,同时限定目标Client范围:

SELECT t1.*
FROM your_table t1
WHERE t1.Client IN (1, 3, 4, 5)
  AND NOT EXISTS (
    SELECT 1
    FROM your_table t2
    WHERE t2.Client = t1.Client
      AND (t2.CREDIT IS NULL OR t2.CREDIT = '')
  )

方案二:使用GROUP BY + HAVING筛选合规客户

先分组筛选出所有Credit均非空的客户,再关联原表获取完整数据行:

SELECT t.*
FROM your_table t
JOIN (
    SELECT Client
    FROM your_table
    GROUP BY Client
    HAVING COUNT(CASE WHEN CREDIT IS NULL OR CREDIT = '' THEN 1 END) = 0
) valid_clients ON t.Client = valid_clients.Client
WHERE t.Client IN (1, 3, 4, 5)

注意事项

  • 将your_table替换为实际表名
  • 空值判断需匹配实际数据:若空值是NULL则用IS NULL,若是空字符串则用CREDIT = '',可根据情况调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 12:27:16