COGNOS中的棘手选择

用户名

我有一个表格,其中的列A中有零件编号列表。存在一个我称为“原始编号”(12345)和“ 7-”编号的数字,它们以“ 7-”开头,然后将原始编号添加到最后(7-12345)。我试图仅选择“ 7-”数字,在删除开头的两个字符后还存在原始数字。

我在定义WHERE条件时遇到麻烦,以确保所选的“ 7-”零件号也具有同一列中存在的对应原始数字(某些“ 7-”数字在表中没有对应的原始数字-我只想要那些)。

一旦确定了这些对,就需要将“ 7-”零件号的B列中的值与相应的“原始”零件号的C列中的值进行比较。有什么想法吗?

提前致谢!

安德鲁

您将不得不在Cognos中使用两个查询。一个查询将为您提供以'7-'开头的部件号,以及该部件号中带有'7-'的部分。

select
pn.partnum,
right(pn.partnum,len(pnpartnum) -2) as Trimmed
from
partnumbers pn
where
pn.partnum like ''7-%'

您的第二个查询将获取所有不以“ 7-”开头的零件号。

select 
* from 
partnumbers 
where partnum not like '7%'

您将添加一个联接查询,并在其中使用这两个查询,结果如下所示:

select
query1.partnum,
query2.partnum
from
(
select
pn.partnum,
right(pn.partnum,len(pnpartnum) -2) as Trimmed
from
partnumbers pn
where
pn.partnum like '7-%' ) Query1

inner join
(select 
* from 
partnumbers 
where partnum not like '7%') Query2
on query1.trimmed = query2.partnum

这是一个过于简化的SQL Fiddle示例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章