【发布时间】:2017-07-10 09:30:35
【问题描述】:
而且这个查询需要很长时间才能加载..
基本上我想要的是
从我的数据库的两个表中获取值时遇到了一些问题。我的数据库中有两个表 1 是 mem,2nd 是支付 mem 存储用户的名称和 drawid 支付表存储用户的提款和分期付款
用户每月向我们付款。因此,如果一个 draw id 为 1 的用户在 2 月向我们付款,则两个表中的值是 mem drawid=1 和 name = something payment draw = 1 和 instalment=2
在mem中的drawid和在payment中的drawid一样
所以表格有多对多的关系。现在我需要找到所有在第 4 个月之前连一期都没有付款的会员列表。
SELECT drawid,contact,dnd,mem.name,link,address, 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 link, NULL address,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' order by link desc
我厌倦了解决这个问题,请给我一些建议,我一周以来一直在尝试解决这个问题..
我正在为两个表格结构添加图像。
【问题讨论】:
-
如果没有额外的信息,我们很难为您提供帮助。告诉我们更多关于您试图通过查询实现的目标。空白结果意味着根本没有结果。显然是一个错误的查询。
-
$m是你的值还是变量?? -
首先不能选择不在group by中的字段,比如链接、地址...
-
解释一下你加入的表。
-
您能否编辑您的代码,使查询变得可读(例如,选定列之间的新行