Php 带有连接和空白行的mysqli查询

Php 带有连接和空白行的mysqli查询,php,mysql,join,mysqli,Php,Mysql,Join,Mysqli,我一直在开发一个网站,我需要加入两个表,然后获取结果 SELECT drawid,contact,dnd,mem.name, count(*) as numPayments,NULL numPaidPayments ,NULL PAID_CONTACT,NULL NAME_PAID FROM mem LEFT JOIN payment ON (mem.drawid = payment.draw) GROUP BY drawid HAVING numPayments < 4

我一直在开发一个网站,我需要加入两个表,然后获取结果

 SELECT drawid,contact,dnd,mem.name, count(*) as numPayments,NULL 
 numPaidPayments ,NULL PAID_CONTACT,NULL NAME_PAID FROM mem 
 LEFT JOIN payment ON (mem.drawid = payment.draw) GROUP BY 
  drawid HAVING numPayments < 4
  UNION
  SELECT NULL drawid,NULL contact, NULL dnd, NULL name,NULL 
  numPayments,COUNT(*) as numPaidPayments ,contact PAID_CONTACT,mem.name 
  NAME_PAID  FROM mem 
   INNER JOIN payment ON (mem.drawid = payment.draw) GROUP BY 
  drawid HAVING numPaidPayments >= 4
我有一个包含两个表的数据库

表1使用mem命名 表2以付款方式命名

现在表1显示了网站上所有用户的姓名和drawid 表2显示了会员的付款情况,包括付款月和提款

两个表中的Draw id和Draw相同。 用户必须每月付款,任何用户都可以提前任何一个月付款

现在我需要取到截至第4个月仍未支付金额的会员总数,并附上姓名和他已支付的总分期付款额

这是我现在正在使用的查询。它工作良好,但唯一的问题是它也给了我一些空白结果

 SELECT drawid,contact,dnd,mem.name, count(*) as numPayments,NULL 
 numPaidPayments ,NULL PAID_CONTACT,NULL NAME_PAID FROM mem 
 LEFT JOIN payment ON (mem.drawid = payment.draw) GROUP BY 
  drawid HAVING numPayments < 4
  UNION
  SELECT NULL drawid,NULL contact, NULL dnd, NULL name,NULL 
  numPayments,COUNT(*) as numPaidPayments ,contact PAID_CONTACT,mem.name 
  NAME_PAID  FROM mem 
   INNER JOIN payment ON (mem.drawid = payment.draw) GROUP BY 
  drawid HAVING numPaidPayments >= 4
我知道这是因为在查询中使用了NULL,但我不知道如何在不使用NULL的情况下使其工作,并获得所有非空结果

当我不使用NULL时,我会得到重复的结果

 SELECT drawid,contact,dnd,mem.name, count(*) as numPayments,NULL 
 numPaidPayments ,NULL PAID_CONTACT,NULL NAME_PAID FROM mem 
 LEFT JOIN payment ON (mem.drawid = payment.draw) GROUP BY 
  drawid HAVING numPayments < 4
  UNION
  SELECT NULL drawid,NULL contact, NULL dnd, NULL name,NULL 
  numPayments,COUNT(*) as numPaidPayments ,contact PAID_CONTACT,mem.name 
  NAME_PAID  FROM mem 
   INNER JOIN payment ON (mem.drawid = payment.draw) GROUP BY 
  drawid HAVING numPaidPayments >= 4
我被困在这里

在NULL和行名之间使用as

在NULL和rowname之间使用as

用户改为空。像这样的测试。用户改为NULL。像这样的测试。