我对SQL相当陌生,所以请原谅我的无知,或者我在这里提出一个基本问题。我想要做的是让我的表返回0值,如果一个插座没有在最后一天创建一个任务。我使用的代码是这样的:我怎样才能让我的SQL计数函数返回0?
SELECT public.outlets.title AS "Outlet",
COUNT(public.outlets.id) AS "Assignment Count"
FROM public.assignments
JOIN public.users
ON public.users.id=public.assignments.creator_id
LEFT JOIN public.outlets
ON public.outlets.id = public.users.outlet_id
WHERE public.outlets.dispatch_enabled = 'True'
AND DATE(public.assignments.created_at) = DATE(CURRENT_TIMESTAMP- interval '1 day')
GROUP BY public.outlets.title
HAVING count(public.outlets.id) = 0
ORDER BY public.outlets.title ASC
我试过COALESCE,但说实话我不太了解它足够好,知道我是否正确实施它。就目前而言,目前我使用的代码是给我“没有返回的行”。我试过把我的where子句的各个部分拿出来看看这是否会有所帮助,但没有。任何帮助将不胜感激!!
你'LEFT JOIN'到'public.outlets'被打败你的'WHERE'在'public.outlets'检查值子句。它可能是一个内部连接,这就是为什么你没有行。 –