Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 编写一个查询,显示累计罚款超过1000辆的所有汽车的累计罚款总额_Mysql - Fatal编程技术网

Mysql 编写一个查询,显示累计罚款超过1000辆的所有汽车的累计罚款总额

Mysql 编写一个查询,显示累计罚款超过1000辆的所有汽车的累计罚款总额,mysql,Mysql,我不知道如何用SQL编写查询 这是我的桌子 CREATE TABLE offences ( oOffenceID VARCHAR (30), oDescription VARCHAR (200), oMaximumFine INT (10), CONSTRAINT o_pk PRIMARY KEY (oOffenceID) ); CREATE TABLE drivers ( dPersonID VARCHAR (30), dLicenseNumber INT (20), dLicenseRem

我不知道如何用SQL编写查询

这是我的桌子

CREATE TABLE offences (
oOffenceID VARCHAR (30),
oDescription VARCHAR (200),
oMaximumFine INT (10),
CONSTRAINT o_pk
PRIMARY KEY (oOffenceID)
);

CREATE TABLE drivers (
dPersonID VARCHAR (30),
dLicenseNumber INT (20),
dLicenseRemoved ENUM('yes','no'),
dExpiryDate DATE,
CONSTRAINT d_pk
PRIMARY KEY (dLicenseNumber),
CONSTRAINT d_fk
FOREIGN KEY (dPersonId)
REFERENCES People (pPersonID)
);

CREATE TABLE people (
pPersonID VARCHAR (30),
pName VARCHAR (30),
pAddress VARCHAR (50),
pNIN VARCHAR (30),
CONSTRAINT p_pk
PRIMARY KEY (pPersonID)
);

CREATE TABLE vehicle (
vOwnerID VARCHAR (30),
vColour VARCHAR (30),
vModel VARCHAR (30),
vMake VARCHAR (30),
vVehicleID VARCHAR (30),
CONSTRAINT v_pk
PRIMARY KEY (vVehicleID),
CONSTRAINT v_fk
FOREIGN KEY (vOwnerID)
REFERENCES People (pPersonID)
);

CREATE TABLE fines (
fFineID INT (30) AUTO_INCREMENT,
fVehicleID VARCHAR (30),
fPersonID VARCHAR (30),
fTime DATE,
fAmount INT (10),
fOfficerStatement VARCHAR (500),
fOffenceID VARCHAR (30),
CONSTRAINT f_pk
PRIMARY KEY (fFineID),
CONSTRAINT f_fk
FOREIGN KEY (fVehicleID)
REFERENCES vehicle (vVehicleID),
CONSTRAINT f_fk1
FOREIGN KEY (fPersonID)
REFERENCES people (pPersonID),
CONSTRAINT f_fk2
FOREIGN KEY (fOffenceID)
REFERENCES offences (oOffenceID)
);

我需要一个查询,显示汽车ID、车主姓名以及累计罚款超过1000辆的所有汽车的累计罚款总额。有人知道怎么做吗?

希望这能让你朝着正确的方向前进:

select fVehicleId,p.pName,sum(fi.totalFines) as totalFinesOver1000ForPerson
from 
(select fVehicleId,sum(fAmount) as totalFines
from fines f
group by fVehicleId
having sum(fAmount) > 1000) fi
inner join vehicle v on v.vVehicleID = fi.fVehicleId
inner join people p on v.vOwnerId = p.pPersonId
group by fVehicleId,p.pName;

这应该行得通

我能问一下p.pName是什么意思吗。在pName之前是什么意思?你是对的-这在SQL中称为“别名”。您可以在这里了解更多信息:经过仔细分析,此解决方案不起作用,但它确实将我介绍给了小组,让我找到了此解决方案……
从车辆、人员、罚款中选择vVehicleID、pName、SUM(fAmount),其中fAmount>1000,pPersonID=fPersonID,vVehicleID=fVehicleID按fVehicleID分组
Select a.vVehicleID,
       b.pName,
       sum(d.fAmount) fine 
from vehicle a,people b,fines d,drivers e 
where a.vVehicleID=d.vVehicleID and d.fPersonID=e.dPersonID and d.fPersonID=a.vOwnerID and
      b.pPersonID = e.dPersonID 
group by a.vVehicleID,b.pNamem
having fine > 1000;