如何从另一个表中获取总计

时间:2019-05-25 22:05:20

标签: sql oracle

我有汽车的表1和表2的旅行。以下是两个表格字段

--CARS table
car_id (PK), car_model, car_miles

--TRIPS table
trip_id (PK), trip_destination, trip_date, trip_miles, car_id (FK)

样本数据

--CARS table
C01, FORD Edge, 100,000
C02, CHEVY Malibu, 89,200
C03, DODGE Avenger, 75,000

--TRIPS table
T01, NYC, 10-jul-2019, 20, C01
T02, Brooklyn, 12-jul-2019, 15, C01
T03, NYC,  09-jul-2019,25, C03

我想获得这样的汽车总旅行次数:

Car_MODEL     | TOTAL TRIPS
--------------|------------
FORD EDGE     | 2
DODGE AVENGER | 1

我尝试了此查询,但遇到%s: invalid identifier错误

--SQL Query
SELECT SUM(trip_id), car.car_model
FROM trips
LEFT LEFT JOIN car ON trips.car_id = car.car_id
WHERE trips.car_id = car.car_id;

1 个答案:

答案 0 :(得分:1)

join左侧一侧聚集一个字段没有任何意义。在id上使用sum()也没有意义。而且,您尝试的查询还存在其他语法错误。

我想你打算

SELECT c.car_model, COUNT(t.car_id)
FROM car c LEFT JOIN
     trips t
     ON t.car_id = c.car_id
GROUP BY c.car_model;