【发布时间】:2013-10-22 12:27:49
【问题描述】:
我没有得到预期的输出,因为
AND ta.task_status_type_id 不在 (10)
在下面的查询中不起作用。
选择 ta.task_id AS id, u.employee_id ASemployee_id, ta.task_status_type_id 从 task_assignments AS ta, 用户作为你 在哪里 u.id = ta.user_id 和 ta.id IN ( 选择 max ( ta.id ) OVER ( partition BY ta.task_id ) AS id 从 task_details AS td, task_assignments AS ta 在哪里 td.task_id = ta.task_id 并且 td.developer_employee_id 为空 AND ta.task_type_id IN(6,7) AND ta.task_status_type_id 不在(10) AND ta.task_status_type_id IN (9) );请帮助解决错误。
【问题讨论】:
-
你为什么不直接说
AND ta.task_status_type_id = 9? “不工作”是什么意思? -
task_assignments.task_status_type_id的数据类型是什么?可以是NULL吗? -
它适用于我:
select 9 not in (10)返回 true。 -
可以简化查询吗? 10 你的意思是一些子查询的结果?我 100% 确定这在 PostgreSQL 中不起作用。 sqlfiddle.com/#!12/8c9b6/1
-
As always:请提供 Postgres 版本、表定义、预期结果、错误消息。
标签: sql postgresql notin