如何通过DB2中的表格过滤硬编码列表?

时间:2018-07-18 15:11:30

标签: sql list db2 filtering

我是DB2的新手,现在正面临问题。

我有一个identityNo的硬编码列表和一个表,该表有一个称为identityNo的列。我想找到identityNo,这样它们将在硬编码列表中,但不在表的任何行中。

示例:

列表:1、2、3、4

select count(*) from myTable where identityNo = 1 => 3

select count(*) from myTable where identityNo = 2 => 0

select count(*) from myTable where identityNo = 3 => 1

select count(*) from myTable where identityNo = 4 => 0

预期结果:2和4(可接受的任何格式)

2 个答案:

答案 0 :(得分:1)

在DB2中,您可以执行以下操作:

select i.id, count(t.identityNo)
from (select 1 as id from sysibm.sysdummy1 union all
      select 2 from sysibm.sysdummy1 union all
      select 3 from sysibm.sysdummy1 union all
      select 4 from sysibm.sysdummy1 
     ) i left join
     mytable t
     on t.identityNo = i.id
group by i.id
order by i.id;

答案 1 :(得分:0)

尝试

Please select android sdk

VALUES (1),(2),(3),(4) MINUS SELECT identityNo FROM myTable