2012-09-24 51 views
0

有两个表“员工”和“分配”。任何人都可以帮助我将这个嵌套查询转换成一个简单的查询(使用连接或任何东西)。我的意思是我不想要嵌套查询。这是可以正常工作的查询。将嵌套子查询转换为简单查询

select emp_id, emp_name from employees 
where emp_id not in (select emp_id from allocation 
      where emp_id is not null 
      and date_assignedUpto is null 
      group by emp_id); 

回答

0

你可以这样做,如果你真的不想使用NOT IN查询:

SELECT e.emp_id, e.emp_name FROM employees e 
LEFT JOIN (SELECT emp_id FROM allocation 
      WHERE emp_id IS NOT NULL 
      AND date_assignedUpto IS NULL 
      GROUP BY emp_id) a 
ON e.emp_id= a.emp_id; 
+0

无论您qeury不等同于我的查询。它给出了一个不同的答案。 btw谢谢,现在我有一些想法来建立查询。 – Alonso

+0

对不起,有没有在查询中,我认为只有..通过更新的答案..... –

+0

它没有返回任何 – Alonso