SQL查询 - 语法错误

时间:2015-07-19 15:40:52

标签: sql sybase

我有两个表:Table ATable B

他们都有Emp-ID作为关键字段。

Table A拥有10k唯一EMP-IDs条记录。

Table B拥有2k条唯一EMP-ID记录。

EMP-IDs中的Table B中的某些Table A也存在于Table A中。

我需要编写一个查询,列出Table B的所有记录以及EMP-ID not exist in Table A Table B的记录。我需要选择EMP_TYPE = 'Y'

select EMP_ID, EMP_TYPE from Table A where EMP_ID not in( select EMP_ID from Table B where EMP_TYPE='Y' and EMP_ID in( select EMP_ID,EMP_TYPE from Table B union all select EMP_ID,EMP_TYPE from Table A ) 条记录
undefined/null

1 个答案:

答案 0 :(得分:1)

使用union allnot exists

select emp_id, emp_type
from a
union all
select emp_id, emp_type
from b
where emp_type = 'Y' and
      not exists (select 1 from a where a.emp_id = b.emp_id);