Sql db表所需的ibm i计数

Sql db表所需的ibm i计数,sql,db2,db2-400,Sql,Db2,Db2 400,我在ibm I中有一个表,如下所示: Order# Amt Transcodes 123 100 001 123 100 @23 123 100 CWU 我有一份报告,我误解了一点。主报告显示所有不是“001”的转码,子报告仅显示所有001 这不是他们想要的。只有在没有其他代码的情况下,他们才会在子报告中使用001,在我们上面的例子中,我们不想调用子报告 要是有

我在ibm I中有一个表,如下所示:

Order#     Amt        Transcodes

123         100           001
123         100           @23
123          100          CWU
我有一份报告,我误解了一点。主报告显示所有不是“001”的转码,子报告仅显示所有001

这不是他们想要的。只有在没有其他代码的情况下,他们才会在子报告中使用001,在我们上面的例子中,我们不想调用子报告

要是有

Order#     Amt        Transcodes

123         100           001
那我们就要这一排了

在服务器上,我想创建一个视图,该视图将包含那些只有001行的行 没有其他代码

Select * where transcodes = '001'
而不是在“这里我必须硬编码”“所有代码”中排序

还是有办法像数数一样?因为他们会在仓库里添加代码


我真的很想做一个计数,然后只在计数=1时选择,但我不确定如何编码或是否可以完成。

这似乎是您想要的

select * from yourtable
where transcode = '001'
  and order# not in (select order# from yourtable
                         where transcode <> '001'
                    )

这似乎是你想要的

select * from yourtable
where transcode = '001'
  and order# not in (select order# from yourtable
                         where transcode <> '001'
                    )

以下代码将生成表中所有顺序和转码组合的列表,只需一次,这样您就不需要硬编码任何内容:

SELECT order, MAX(amount), transcode
FROM theTable
GROUP BY order, transcode
HAVING COUNT(order) = 1

以下代码将生成表中所有顺序和转码组合的列表,只需一次,这样您就不需要硬编码任何内容:

SELECT order, MAX(amount), transcode
FROM theTable
GROUP BY order, transcode
HAVING COUNT(order) = 1