【发布时间】:2017-11-28 11:37:18
【问题描述】:
我创建了以下 SQL 查询来计算未来 12 个月内的租赁总收入。
SELECT DISTINCT apartment.addressLine1, lease.monthlyRent, lease.duration, lease.roomNumber, lease.monthlyRent*lease.duration AS totalLeaseRent
FROM `lease`
INNER JOIN apartment on (lease.roomNumber) = (apartment.roomNumber)
left Join tenantLease on tenantLease.leaseID = lease.leaseID
WHERE tenantLease.live = 1 AND lease.duration <= 12
这将返回以下结果:
AddressLine1 monthlyRent Duration(months) roomNumber totalLeaseRent
Chlorine Gardens1200 9 GF02 10800
May Road 800 12 GF03 9600
Beech Hill 900 8 BG06 7200
Ash Avenue 1000 12 AA04 12000
我现在希望能够有另一行来包含 totalLeaseRent 的总数。像这样:
AddressLine1 monthlyRent Duration(months) roomNumber totalLeaseRent
Chlorine Garden1200 9 GF02 10800
May Road 800 12 GF03 9600
Beech Hill 900 8 BG06 7200
Ash Avenue 1000 12 AA04 12000
TOTAL *total*
我尝试了以下代码,但不断收到错误代码: 1222 - 使用的 SELECT 语句有不同的列数
SELECT DISTINCT apartment.addressLine1, lease.monthlyRent, lease.duration, lease.roomNumber, lease.monthlyRent*lease.duration AS totalLeaseRent
FROM `lease`
INNER JOIN apartment on (lease.roomNumber) = (apartment.roomNumber)
left Join tenantLease on tenantLease.leaseID = lease.leaseID
WHERE tenantLease.live = 1 AND lease.duration <= 12
UNION ALL
SELECT 'Total', SUM(lease.monthlyRent * lease.duration)
FROM lease
如何让这个查询运行? 谢谢
【问题讨论】:
标签: mysql phpmyadmin union