Mysql 从多个表中选择时选择sum
我正在尝试选择一些值,我使用了以下查询:Mysql 从多个表中选择时选择sum,mysql,Mysql,我正在尝试选择一些值,我使用了以下查询: SELECT l.*,SUM(lp.amount) AS landPayMonth,p.pName,u.uName,SUM(ci.amount) AS totAmnt, t.unitId FROM (SELECT DISTINCT landlord_payment.id,landlord_payment.amount,landlord_payment.landlordId FROM landlord_payment) lp,
SELECT
l.*,SUM(lp.amount) AS landPayMonth,p.pName,u.uName,SUM(ci.amount) AS totAmnt,
t.unitId
FROM
(SELECT DISTINCT landlord_payment.id,landlord_payment.amount,landlord_payment.landlordId FROM landlord_payment) lp,
(SELECT DISTINCT cashIn.id,cashIn.tenantId,cashIn.registeredTime,cashIn.amount FROM cashIn) ci,landlords l,properties p,units u,tenants t
WHERE
ci.tenantId = t.id
AND l.id = lp.landlordId
AND t.unitId = u.id
AND u.propertyId = p.id
AND p.landlordId = l.id
AND STR_TO_DATE(ci.registeredTime, '%Y-%m') = STR_TO_DATE(CURDATE(), '%Y-%m')
GROUP BY l.id;
运行上述查询后得到的部分结果是:
id fName lName landPayMonth pName uName totAmnt unitId
1 Kigen Chemweno 100000 Smart Apartments Hse 21 32200 1
landPayMonth和totAmnt产生错误的结果。其他一切都好。
部分表格的某些部分如下:
兑现
地主
id fName lName
1 Kigen Chemweno
3 Samwel Ekiru
性质
id pName landlordId
1 Smart Apartments 1
2 Iten Star 3
租户
id fName lName unitId
1 Florence Cheptum 1
2 Rose Boit 2
单位
业主付款
id landlordId amount
1 1 20000
3 1 5000
我不知道我做错了什么请用文字写下您希望通过此查询找到什么?我想从现金和房东付款表中获取金额总和
id uName propertyId
1 Hse 21 1
2 Hse 20 1
id landlordId amount
1 1 20000
3 1 5000