我在生成适用于我所处情况的查询时遇到了一些困难。以下是详细信息...
1 表 = 计费
1 表 = 计费日期
billing = 基本上在生成发票时,它会在计费中创建一行,其中包含主键、发票 ID、用户 ID、用户用户名、他们的实际姓名、发票日期、发票总额和付款
计费日期 = 当对发票进行付款时,它会在计费日期中创建一行,其中包含一个主键、一个 id(与计费表中的主键相同)、一个发票 id(与billing), 用户 id (与 billing 中的用户 id 相同), 支付日期, 支付金额
我正在尝试创建一个帐龄报告,该报告将提取每张未结发票并将其显示在 PHP 中的 30/60/90/90+ 表中给最终用户。因此,如果发票 #12 上有 100 美元的余额,以及两次 10 美元的付款,并且发票已有 60 天的历史,它将在报告中显示此信息。这是我所拥有的...
$sql17 = "SELECT
$mysql_billing.login_id, $mysql_billing.primary_key, $mysql_billing.a_name,
SUM($mysql_billing.custotal) AS finaltotal,
SUM($mysql_billing_dates.amount) AS paidtotal,
$mysql_billing.custotal - $mysql_billing_dates.amount AS total
FROM $mysql_billing
LEFT JOIN $mysql_billing_dates ON $mysql_billing.login_id = $mysql_billing_dates.login_id
GROUP BY login_id
ORDER BY a_name ASC";
当我运行它时,有些是正确的,而大多数不是。我无法弄清楚不一致是什么。任何想法将不胜感激,也许我走错了路?
更多
当我执行以下操作时,正确的值会显示...
SELECT
$mysql_billing.login_id, $mysql_billing.primary_key, $mysql_billing.a_name,
SUM($mysql_billing.custotal) AS finaltotal
FROM $mysql_billing
GROUP BY login_id
ORDER BY a_name ASC
但在原始示例中,它并不总是拉出正确的值?