db2 显示不在表中所有数字

w8biq8rn  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(152)

我遇到了以下问题。我的DB2数据库中有60,000多个数字,我需要检查哪些数字在我的表中找不到。
我希望有如下输出:

number | found | not-found
010012 |x      |
010023 |       |x

我已经用所有的数字创建了UPDATE语句。这不是问题所在,但是,要找出哪些数字丢失了,我就搞不清楚了。
这是我的SELECT,当然它没有按预期工作。

SELECT
    a.Field1 || a.Field2,
    CASE WHEN a.Field1 || a.Field2 IN ('010012', '010023')
    THEN 'Found'
    ELSE 'None'
    END 
FROM TEST_TABLE.U56 a
WHERE Field1 || Field2 IN ('010012', '010023');
gstyhher

gstyhher1#

试试看:

WITH 
NUMBERS (NUMBER) AS
(
  VALUES 
    '010012'
  , '010023'
)
,
MY_TABLE (NUMBER) AS
(
  VALUES 
    '010012'
  , '010012'
)
SELECT DISTINCT
  N.NUMBER
, CASE WHEN T.NUMBER IS NOT NULL THEN 'x' END AS FOUND 
, CASE WHEN T.NUMBER IS     NULL THEN 'x' END AS NOT_FOUND
FROM NUMBERS N
LEFT JOIN MY_TABLE T ON T.NUMBER = N.NUMBER

| 编号|已找到|未找到|
| - -|- -|- -|
| 小零一零二三||X射线|
| 小行星010012| X射线||
如果这不是你所需要的,那么请用一个完整的例子来编辑你的问题,其中包括两个表的样本数据和所需的结果。

相关问题