У меня есть оператор SELECT в SQLite, где мне нужно найти количество автомобилей, зарегистрированных на человека в прошлом году. Это запрос:
SELECT
p.fname,
p.lname,
p.bdate,
p.bplace,
COUNT(
DISTINCT CASE r.vin WHEN r.regdate >= date('now', '-1 years') THEN 1 ELSE null END
),
COUNT(DISTINCT(t.violation))
FROM
persons p
LEFT JOIN registrations r ON p.fname = r.fname
AND p.lname = r.lname
LEFT JOIN tickets t ON r.regno = t.regno
GROUP BY
p.fname,
p.lname,
p.bdate,
p.bplace;
Проблема в операторе CASE, он не определяет, когда условие выполняется, и по умолчанию все мои значения равны 0. Как это исправить, или есть другие способы? ускорить условие в выражении COUNT