Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MYSQL左连接提供空值_Php_Mysql_Left Join - Fatal编程技术网

Php MYSQL左连接提供空值

Php MYSQL左连接提供空值,php,mysql,left-join,Php,Mysql,Left Join,我有两张表格,分别是电子邮件和电子邮件。我正在尝试查找未读邮件的数量 表格电子邮件 CREATE TABLE IF NOT EXISTS EMAIL ( MAIL_NO TINYINT UNSIGNED NOT NULL, BIZ_ID VARCHAR(35) CHARACTER SET 'latin1' COLLATE 'latin1_bin' NOT NULL, FROM_ADD INT UNSIGNED NOT

我有两张表格,分别是电子邮件和电子邮件。我正在尝试查找未读邮件的数量

表格电子邮件

        CREATE TABLE IF NOT EXISTS EMAIL (
          MAIL_NO TINYINT UNSIGNED NOT NULL, 
          BIZ_ID VARCHAR(35) CHARACTER SET 'latin1' COLLATE 'latin1_bin' NOT NULL, 
          FROM_ADD INT UNSIGNED NOT NULL,  -- FOR EMAIL_TYPE EUCP, THIS WILL BE AGENT ID
          TO_ADD INT UNSIGNED DEFAULT NULL, -- FOR EMAIL_TYPE EUCP, THIS WILL BE CANDIDATE_ID
          EMAIL_SUBJECT VARCHAR(75) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' DEFAULT NULL,
          MAIL_STATUS CHAR(1) CHARACTER SET 'latin1' COLLATE 'latin1_bin' DEFAULT 'A',
          UPDATED_DATE DATETIME ON UPDATE CURRENT_TIMESTAMP,
          EMAIL_TYPE VARCHAR(10) CHARACTER SET 'latin1' COLLATE 'latin1_bin' DEFAULT NULL, 
          PRIMARY KEY (MAIL_NO,BIZ_ID),
          INDEX idx_EMAIL_id1 (FROM_ADD ASC),
          INDEX idx_EMAIL_id2 (TO_ADD ASC),
          INDEX idx_EMAIL_id3 (BIZ_ID ASC),
          INDEX idx_EMAIL_id4 (MAIL_STATUS ASC),
          INDEX idx_EMAIL_id5 (EMAIL_SUBJECT ASC), 
          INDEX idx_EMAIL_id6 (UPDATED_DATE ASC)  
        )
        ENGINE = InnoDB
        DEFAULT CHARACTER SET = utf8
        COLLATE = utf8_unicode_ci;
表电子邮件

    CREATE TABLE IF NOT EXISTS EMAIL_MESSAGE (
      MESSAGE_NO TINYINT UNSIGNED NOT NULL, 
      BIZ_ID VARCHAR(35) CHARACTER SET 'latin1' COLLATE 'latin1_bin' NOT NULL, 
      SENDER INT UNSIGNED DEFAULT NULL, 
      MESSAGE TEXT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' DEFAULT NULL, 
      ATTACHMENT VARCHAR(255) CHARACTER SET 'latin1' COLLATE 'latin1_bin' DEFAULT NULL, 
      MESSAGE_STATUS CHAR(1) CHARACTER SET 'latin1' COLLATE 'latin1_bin' DEFAULT 'U', 
      SEND_LOCATION VARCHAR(20) CHARACTER SET 'latin1' COLLATE 'latin1_bin' DEFAULT NULL, 
      READ_DATE DATETIME DEFAULT NULL, 
      SEND_DATE DATETIME DEFAULT CURRENT_TIMESTAMP, 
      PRIMARY KEY (MESSAGE_NO,BIZ_ID),
      INDEX idx_EMAIL_MESSAGE_id1 (SENDER ASC),
      INDEX idx_EMAIL_MESSAGE_id2 (MESSAGE_STATUS ASC),
      CONSTRAINT fk_EMAIL_MESSAGE_C1
        FOREIGN KEY (BIZ_ID)
        REFERENCES EMAIL (BIZ_ID)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION
    )
    ENGINE = InnoDB
    DEFAULT CHARACTER SET = utf8
    COLLATE = utf8_unicode_ci;
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (1,'10001-10001-10001',10001,'check this out',NULL,'R','TBD','2015-09-23 16:04:32','2015-07-07 19:40:12');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (2,'10001-10001-10001',10001,'Good man\n\nJamo here',NULL,'R','TBD','2015-09-23 16:04:32','2015-07-07 19:42:32');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (3,'10001-10001-10001',10001,'Get back to me when you can',NULL,'R','TBD','2015-09-23 16:04:32','2015-07-07 20:04:56');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (4,'10001-10001-10001',10002,'COOL',NULL,'R','TBD','2015-09-23 16:04:32','2015-07-07 20:41:48');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (5,'10001-10001-10001',10002,'good \n',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-19 18:55:36');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (6,'10001-10001-10001',10002,'Hoi\n',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-19 19:27:13');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (7,'10001-10001-10001',10001,'Good  man',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-21 11:22:33');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (8,'10001-10001-10001',10002,'THANKS',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-21 12:05:38');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (9,'10001-10001-10001',10002,'How are you john?',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 13:55:19');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (10,'10001-10001-10001',10002,'Good',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 13:55:55');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (11,'10001-10001-10001',10001,'Thanks you',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:07:12');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (12,'10001-10001-10001',10002,'Where is the opportunity',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:16:12');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (13,'10001-10001-10001',10001,'Leeds\n',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:16:49');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (14,'10001-10001-10001',10001,'Interested?',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:20:59');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (15,'10001-10001-10001',10002,'sdg',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:25:48');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (16,'10001-10001-10001',10001,'asdf',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:26:12');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (17,'10001-10001-10001',10002,'asdf',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:50:32');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (18,'10001-10001-10001',10001,'SAF',NULL,'U','TBD',NULL,'2015-09-23 16:04:34');
样本数据

电邮:

INSERT INTO `EMAIL` (`MAIL_NO`,`BIZ_ID`,`FROM_ADD`,`TO_ADD`,`EMAIL_SUBJECT`,`MAIL_STATUS`,`UPDATED_DATE`,`EMAIL_TYPE`) VALUES (1,'10001-10001-10001',10001,10002,'SUBJECT ABCD','A','2015-09-23 15:14:45','EUCP');
电子邮件

    CREATE TABLE IF NOT EXISTS EMAIL_MESSAGE (
      MESSAGE_NO TINYINT UNSIGNED NOT NULL, 
      BIZ_ID VARCHAR(35) CHARACTER SET 'latin1' COLLATE 'latin1_bin' NOT NULL, 
      SENDER INT UNSIGNED DEFAULT NULL, 
      MESSAGE TEXT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' DEFAULT NULL, 
      ATTACHMENT VARCHAR(255) CHARACTER SET 'latin1' COLLATE 'latin1_bin' DEFAULT NULL, 
      MESSAGE_STATUS CHAR(1) CHARACTER SET 'latin1' COLLATE 'latin1_bin' DEFAULT 'U', 
      SEND_LOCATION VARCHAR(20) CHARACTER SET 'latin1' COLLATE 'latin1_bin' DEFAULT NULL, 
      READ_DATE DATETIME DEFAULT NULL, 
      SEND_DATE DATETIME DEFAULT CURRENT_TIMESTAMP, 
      PRIMARY KEY (MESSAGE_NO,BIZ_ID),
      INDEX idx_EMAIL_MESSAGE_id1 (SENDER ASC),
      INDEX idx_EMAIL_MESSAGE_id2 (MESSAGE_STATUS ASC),
      CONSTRAINT fk_EMAIL_MESSAGE_C1
        FOREIGN KEY (BIZ_ID)
        REFERENCES EMAIL (BIZ_ID)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION
    )
    ENGINE = InnoDB
    DEFAULT CHARACTER SET = utf8
    COLLATE = utf8_unicode_ci;
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (1,'10001-10001-10001',10001,'check this out',NULL,'R','TBD','2015-09-23 16:04:32','2015-07-07 19:40:12');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (2,'10001-10001-10001',10001,'Good man\n\nJamo here',NULL,'R','TBD','2015-09-23 16:04:32','2015-07-07 19:42:32');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (3,'10001-10001-10001',10001,'Get back to me when you can',NULL,'R','TBD','2015-09-23 16:04:32','2015-07-07 20:04:56');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (4,'10001-10001-10001',10002,'COOL',NULL,'R','TBD','2015-09-23 16:04:32','2015-07-07 20:41:48');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (5,'10001-10001-10001',10002,'good \n',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-19 18:55:36');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (6,'10001-10001-10001',10002,'Hoi\n',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-19 19:27:13');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (7,'10001-10001-10001',10001,'Good  man',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-21 11:22:33');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (8,'10001-10001-10001',10002,'THANKS',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-21 12:05:38');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (9,'10001-10001-10001',10002,'How are you john?',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 13:55:19');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (10,'10001-10001-10001',10002,'Good',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 13:55:55');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (11,'10001-10001-10001',10001,'Thanks you',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:07:12');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (12,'10001-10001-10001',10002,'Where is the opportunity',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:16:12');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (13,'10001-10001-10001',10001,'Leeds\n',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:16:49');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (14,'10001-10001-10001',10001,'Interested?',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:20:59');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (15,'10001-10001-10001',10002,'sdg',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:25:48');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (16,'10001-10001-10001',10001,'asdf',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:26:12');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (17,'10001-10001-10001',10002,'asdf',NULL,'R','TBD','2015-09-23 16:04:32','2015-09-23 15:50:32');
    INSERT INTO `EMAIL_MESSAGE` (`MESSAGE_NO`,`BIZ_ID`,`SENDER`,`MESSAGE`,`ATTACHMENT`,`MESSAGE_STATUS`,`SEND_LOCATION`,`READ_DATE`,`SEND_DATE`) VALUES (18,'10001-10001-10001',10001,'SAF',NULL,'U','TBD',NULL,'2015-09-23 16:04:34');
工作场景:e.FROM_ADD有未读消息的场景

Select e.MAIL_NO, e.BIZ_ID, e.FROM_ADD AS AGENT_ID, e.TO_ADD AS CANDIDATE_ID, e.EMAIL_SUBJECT,  e.MAIL_STATUS,
  em.SENDER, IF(em.UNREAD_MESSAGE_COUNT IS NULL,0,em.UNREAD_MESSAGE_COUNT) as UNREAD_MESSAGE_COUNT From EMAIL e left join 
      (Select COUNT(*) as UNREAD_MESSAGE_COUNT, SENDER, BIZ_ID FROM EMAIL_MESSAGE Inner Join EMAIL Using (BIZ_ID)
        where MESSAGE_STATUS = 'U' and SENDER not in ('10001') group by SENDER) em
    on em.BIZ_ID = e.BIZ_ID where 
    e.FROM_ADD='10001'  
Select e.MAIL_NO, e.BIZ_ID, e.FROM_ADD AS AGENT_ID, e.TO_ADD AS CANDIDATE_ID, e.EMAIL_SUBJECT,  e.MAIL_STATUS,
  em.SENDER, IF(em.UNREAD_MESSAGE_COUNT IS NULL,0,em.UNREAD_MESSAGE_COUNT) AS UNREAD_MESSAGE_COUNT From EMAIL e Left Join
      (Select COUNT(*) AS UNREAD_MESSAGE_COUNT, SENDER, BIZ_ID From EMAIL_MESSAGE Inner Join EMAIL Using (BIZ_ID)
        where MESSAGE_STATUS = 'U' and SENDER not in ('10002') group by SENDER) em
    on e.BIZ_ID = em.BIZ_ID 
Where 
    e.TO_ADD="10002";
失败场景:e.TO_ADD有未读消息的场景

Select e.MAIL_NO, e.BIZ_ID, e.FROM_ADD AS AGENT_ID, e.TO_ADD AS CANDIDATE_ID, e.EMAIL_SUBJECT,  e.MAIL_STATUS,
  em.SENDER, IF(em.UNREAD_MESSAGE_COUNT IS NULL,0,em.UNREAD_MESSAGE_COUNT) as UNREAD_MESSAGE_COUNT From EMAIL e left join 
      (Select COUNT(*) as UNREAD_MESSAGE_COUNT, SENDER, BIZ_ID FROM EMAIL_MESSAGE Inner Join EMAIL Using (BIZ_ID)
        where MESSAGE_STATUS = 'U' and SENDER not in ('10001') group by SENDER) em
    on em.BIZ_ID = e.BIZ_ID where 
    e.FROM_ADD='10001'  
Select e.MAIL_NO, e.BIZ_ID, e.FROM_ADD AS AGENT_ID, e.TO_ADD AS CANDIDATE_ID, e.EMAIL_SUBJECT,  e.MAIL_STATUS,
  em.SENDER, IF(em.UNREAD_MESSAGE_COUNT IS NULL,0,em.UNREAD_MESSAGE_COUNT) AS UNREAD_MESSAGE_COUNT From EMAIL e Left Join
      (Select COUNT(*) AS UNREAD_MESSAGE_COUNT, SENDER, BIZ_ID From EMAIL_MESSAGE Inner Join EMAIL Using (BIZ_ID)
        where MESSAGE_STATUS = 'U' and SENDER not in ('10002') group by SENDER) em
    on e.BIZ_ID = em.BIZ_ID 
Where 
    e.TO_ADD="10002";

出于某种原因,同一查询在一个场景中失败。我不明白为什么会为失败场景的左连接生成空值?非常感谢您的帮助

当您要计算收件人的邮件数时,为什么要按发件人进行分组?@developerwjk,请理解,但有些行满足条件,因此我不确定为什么为空值。@Barmar not in SENDER满足您所指的条件。该部分的工作方式与我在第一个查询(而不是第二个查询)中的checkedI see
SENDER=NULL
相同。在
SENDER not in('10001')
中没有未读消息,因此子查询返回空结果。