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

如何用SQL查询获取无attribute_id=5的magento_customerbalance客户ID

解决方案:找出magento_customerbalance中无对应attribute_id=5的customer_id

可以通过以下几种SQL查询方式获取目标21条customer_id记录:

方法1:使用NOT EXISTS(推荐,性能更优)

直接检查每个mcb的customer_id在cev中是否不存在attribute_id=5的匹配记录:

SELECT mcb.customer_id
FROM magento_customerbalance mcb
WHERE NOT EXISTS (
    SELECT 1
    FROM customer_entity_varchar cev
    WHERE cev.entity_id = mcb.customer_id
      AND cev.attribute_id = 5
);

方法2:使用LEFT JOIN + IS NULL

通过左连接保留mcb的所有记录,筛选出cev侧无attribute_id=5匹配的行:

SELECT mcb.customer_id
FROM magento_customerbalance mcb
LEFT JOIN customer_entity_varchar cev
    ON cev.entity_id = mcb.customer_id
    AND cev.attribute_id = 5
WHERE cev.entity_id IS NULL;

方法3:使用NOT IN

注意:如果customer_entity_varchar的entity_id存在NULL值,此方法会返回空结果,需确保数据无此类情况:

SELECT mcb.customer_id
FROM magento_customerbalance mcb
WHERE mcb.customer_id NOT IN (
    SELECT cev.entity_id
    FROM customer_entity_varchar cev
    WHERE cev.attribute_id = 5
);

补充说明

  • 若要提升查询效率,建议给customer_entity_varchar表创建entity_id + attribute_id的复合索引,数据库能快速定位匹配记录。
  • 三种方法均能得到需要的21条customer_id记录,优先推荐前两种,逻辑清晰且性能稳定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 02:20:46