YS
SELECT ...
FROM "первая с логами" AS a
WHERE NOT EXISTS (
SELECT 1
FROM "вторая с датой исключений" AS x
WHERE a.дата >= x."дата начало" AND a.дата <= x."дата конец"
)
Size: a a a
YS
SELECT ...
FROM "первая с логами" AS a
WHERE NOT EXISTS (
SELECT 1
FROM "вторая с датой исключений" AS x
WHERE a.дата >= x."дата начало" AND a.дата <= x."дата конец"
)
YS
М
SELECT ...
FROM "первая с логами" AS a
WHERE NOT EXISTS (
SELECT 1
FROM "вторая с датой исключений" AS x
WHERE a.дата >= x."дата начало" AND a.дата <= x."дата конец"
)
AN
SELECT
"user"."id",
"user"."name",
SUM("run"."km") AS "run_km",
SUM("ride"."km") AS "ride_km",
SUM("swim"."km") AS "swim_km"
FROM "user"
LEFT JOIN "run"
ON "user"."id" = "run"."userId"
LEFT JOIN "ride"
ON "user"."id" = "ride"."userId"
LEFT JOIN "swim"
ON "user"."id" = "swim"."userId"
GROUP BY "user"."id»
М
SELECT ...
FROM "первая с логами" AS a
WHERE NOT EXISTS (
SELECT 1
FROM "вторая с датой исключений" AS x
WHERE a.дата >= x."дата начало" AND a.дата <= x."дата конец"
)
YS
Y
М
Y
М
YS
АА
SELECT
"user"."id",
"user"."name",
SUM("run"."km") AS "run_km",
SUM("ride"."km") AS "ride_km",
SUM("swim"."km") AS "swim_km"
FROM "user"
LEFT JOIN "run"
ON "user"."id" = "run"."userId"
LEFT JOIN "ride"
ON "user"."id" = "ride"."userId"
LEFT JOIN "swim"
ON "user"."id" = "swim"."userId"
GROUP BY "user"."id»
Y
YS
SELECT
"user"."id",
"user"."name",
SUM("run"."km") AS "run_km",
SUM("ride"."km") AS "ride_km",
SUM("swim"."km") AS "swim_km"
FROM "user"
LEFT JOIN "run"
ON "user"."id" = "run"."userId"
LEFT JOIN "ride"
ON "user"."id" = "ride"."userId"
LEFT JOIN "swim"
ON "user"."id" = "swim"."userId"
GROUP BY "user"."id»
WITH user_runs AS (
SELECT "user".id, "user".name, SUM(run.km) AS run_km
FROM "user"
LEFT JOIN run
ON "user".id = run.userId
GROUP BY "user".id
), user_runs_rides AS (
SELECT user_runs.id, user_runs.name, user_runs.run_km, SUM(ride.km) AS ride_km
FROM user_runs
LEFT JOIN ride
ON ride.userId = user_runs.id
GROUP BY user_runs.id, user_runs.name, user_runs.run_km
), ...
SELECT "user".id, "user".name,
(SELECT SUM(run.km) FROM run WHERE run.userId = "user".id) AS run_km,
(SELECT SUM(ride.km) FROM ride WHERE ride.userId = "user".id) AS ride_km,
...
FROM "user"
AN
YS
АА
YS
МИ
М
SELECT *,
(SELECT primary_id from …. where … order by …. limit 1) as primary_id
from ….
where
order by