Следующий запрос возвращает ошибку:
ORA-00904: "C"."CHARGEDATE": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Error en la línea: 6, columna: 58
Запрос следующий:
Select
c.idChargeStation,
c.idVehicleUnit,
round(cc.totalTiempo/cc.totalCargas, 2) AS media,
v.versionNameVU,
c.chargeDate,
p.firstName,
p.lastName
FROM
Charge c,
VehicleUnit v,
Person p,
(
SELECT
idChargeStation,
idVehicleUnit,
chargeDate,
SUM(totalPluggedTime) AS totalTiempo,
count(*) AS totalCargas
FROM Charge
WHERE
idChargeStation = c.idChargeStation
AND idVehicleUnit = c.idVehicleUnit
AND chargeDate = c.chargeDate
) cc
WHERE
c.idVehicleUnit = v.idVehicleUnit
AND v.idClient = p.idPerson
HAVING media > 600
HAVING round(c.powerKwH/c.KmFromLast, 2) > 1.00
Order by c.chargeDate DESC;
Есть 3 таблицы: Charge
, VehicleUnit
, Person
:
Я добавляю информацию, составляю таблицы, связанные с первыми 10 записями каждой таблицы.
Заряд таблицы:
Таблица VehicleUnit:
Таблица Person:
Запрос должен возвращатьПоля idChargeStation, idVehicleUnit, chargeDate таблицы начислений, среднее значение totalPluggedTime, поле versionNameVU таблицы vehicleUnit и поля firstName и lastName таблицы Person.
среднее значение получается из: SUM (totalPluggedTime)AS totalTime count (*) AS totalLoads <----- итоговая запись подзапроса, в которой указаны требования к idChargeStation, idVehicleUnit и chargeDateравны встречаются.С этими данными в основном раунде запросов (cc.totalTime / cc.totalLoads, 2) как среднее значение </p>