Cognos 11-查询主题之间的过滤器
给定表A的列:ColA1、ColA2、ColA3 表B中有列:ColB1 我想根据表B中的数据限制可以从表A返回的数据,如:Cognos 11-查询主题之间的过滤器,cognos,cognos-11,Cognos,Cognos 11,给定表A的列:ColA1、ColA2、ColA3 表B中有列:ColB1 我想根据表B中的数据限制可以从表A返回的数据,如: ColA1 not in ColB1 理想情况下,可以通过某种方式将SQL查询与select语句合并到过滤器中 SELECT a.ColA1 , a.ColA2 , a.ColA3 FROM TableA a LEFT OUTER JOIN TableB b on b.ColB1 = a.ColA1 WHERE b.ColB1 IS NULL 所以… 查询1包
ColA1 not in ColB1
理想情况下,可以通过某种方式将SQL查询与select语句合并到过滤器中
SELECT a.ColA1
, a.ColA2
, a.ColA3
FROM TableA a
LEFT OUTER JOIN TableB b on b.ColB1 = a.ColA1
WHERE b.ColB1 IS NULL
所以…查询1包含表A中的ColA1、ColA2和ColA3。
查询2包含表B中的ColB1。
问题3
- 联接ColA1..1=0..1 ColB1上的Query1和Query2
- 数据项:ColA1、ColA2、ColA3
- 筛选器:ColB1不为空
- 不存在可能是您正在寻找的
试试这样的
select * from TableA as T1
where not exists
(select * from TableB as T2
where t1.key1 = t2.key1 and T1.key2 = t2.key2)
这是在查询主题中,还是在独立筛选器中?在查询主题中,我通过where子句添加了一些过滤器,但它们似乎不起作用。它们在SQL中运行时有效,在Oracle中运行Cognos 11生成的SQL时也有效,但我猜由于Framework Manager中的连接/链接,where子句不知何故被破坏了,因此不起作用我猜您以前从未使用过Cognos?不能在数据项表达式中放入WHERE子句。在Cognos中,您可以拖放。我描述的是创建两个查询并将它们连接到第三个查询——以及如何配置连接。SQL代码用于参考,以防您认为SQL代码比CognosGUI更好。