我有一个表格,其中的列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] 删除。
我来说两句