feat: add queries for stopInfoHandler, stopIdInfoHandle, stopDeparturesHandler
This commit is contained in:
parent
a3c04b9e5d
commit
4ac9565aa0
1 changed files with 74 additions and 0 deletions
74
query.sql
Normal file
74
query.sql
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
-- name: GetStationsByName :many
|
||||
SELECT s.id,
|
||||
s.name,
|
||||
sl.latitude,
|
||||
sl.longitude,
|
||||
bus,
|
||||
taxi,
|
||||
tram,
|
||||
ferry,
|
||||
subway,
|
||||
national,
|
||||
regional,
|
||||
suburban,
|
||||
regionalexp,
|
||||
nationalexp
|
||||
FROM stops s
|
||||
JOIN public.stat_locations sl
|
||||
on sl.id = s.location_id
|
||||
JOIN public.stat_services ss
|
||||
on ss.id = s.service_id
|
||||
WHERE s.id
|
||||
in (SELECT id
|
||||
FROM stops s2
|
||||
WHERE s2.name LIKE $1
|
||||
);
|
||||
|
||||
-- name: GetStationById :one
|
||||
SELECT s.id,
|
||||
s.name,
|
||||
sl.latitude,
|
||||
sl.longitude,
|
||||
bus,
|
||||
taxi,
|
||||
tram,
|
||||
ferry,
|
||||
subway,
|
||||
national,
|
||||
regional,
|
||||
suburban,
|
||||
regionalexp,
|
||||
nationalexp
|
||||
FROM stops s
|
||||
JOIN public.stat_locations sl
|
||||
on sl.id = s.location_id
|
||||
JOIN public.stat_services ss
|
||||
on ss.id = s.service_id
|
||||
WHERE s.id = $1;
|
||||
|
||||
-- name: GetDeparturesById :many
|
||||
SELECT DISTINCT (t.id) as "id",
|
||||
t.line_name as "lineName",
|
||||
t.line_productname as "lineProductName",
|
||||
so.departuredelay as "departureDelay",
|
||||
sd.id as "directionId",
|
||||
sd.name as "directionName",
|
||||
so.departure as "departure",
|
||||
so.planneddeparture as "plannedDeparture",
|
||||
so.departureplatform as "departurePlattform",
|
||||
so.planneddepartureplatform as "plannedDeparturePlattform",
|
||||
so.realtimedataupdatedat as "realtimeDataUpdatedAt"
|
||||
FROM stopovers so
|
||||
JOIN trips t ON so.id = t.id
|
||||
JOIN public.trip_meta tm on t.id = tm.id
|
||||
JOIN public.stops sd on t.destination = sd.id
|
||||
WHERE so.stop = $1
|
||||
AND (so.id, so.realtimedataupdatedat) IN (SELECT DISTINCT (id), max(realtimedataupdatedat)
|
||||
FROM stopovers so2
|
||||
WHERE so2.stop = $1
|
||||
AND (so2.departure > $2)
|
||||
AND (so2.departure < $3)
|
||||
AND (so2.realtimedataupdatedat <= $4)
|
||||
GROUP BY so2.id
|
||||
LIMIT 50)
|
||||
ORDER BY so.departure ASC;
|
||||
Loading…
Reference in a new issue