2014-06-10 156 views
-2

所以我有这个疑问,不能看到什么错SQL SELECT + INNER JOIN + WHERE

SELECT tasks.id,tasks.client_name,tasks.description,tasks.state, 
     tasks.planned_dates, tasks.task_for, tasks.task_type, 
     tasks.solution, tasks.created_by, users.color 
FROM public.tasks 
INNER JOIN public.users ON (tasks.created_by = users.id) 
WHERE id IN 
(
    SELECT tt.id 
    FROM (
    SELECT id, unnest(planned_dates) as dd 
    FROM tasks 
    WHERE planned_dates IS NOT NULL AND deleted = FALSE 
) as tt 
    WHERE tt.dd BETWEEN @startdate AND @enddate 
) 

任何想法?

+3

你的期望结果是什么,目前显示的是什么问题? “我看不出什么问题”不是问题。请[阅读关于如何改善您的问题](http://stackoverflow.com/help/how-to-ask)。 –

+2

你期望什么?你得到的输出是什么? – luksch

+1

抛出什么异常?这将非常有帮助。没有这个,我唯一能想到的是“WHERE ID IN”需要被限定为users.id或tasks.id。 –

回答

0

很难说没有看到你得到的错误。但从查看您的查询,它可能是

WHERE id IN 

是不明确的。尝试使用tasks.id而不是id(或users.id,如果你的意思是id)