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。像这样的测试。