[英]Informatica: comparing the date field between two tables
我是informatica软件的新手。 现在我有两个表,例如AAA
和BBB
表。
AAA: last_post_date
BBB: Trx_No, Field1, Field2, trx_date
我想将BBB
表移动到trx_date必须大于last_post_date的目标表。 我无法使用Joiner转换,因为它没有>,<,> =和<=运算符。 如果我想使用查找转换,如何在这种情况下或其他任何方式使用它可以帮助我做到这一点。 我在许多网站上搜索了有关查找转换的信息,但仍然不知道如何使用它。
请帮忙。
谢谢!
我假设AAA
只有1行,其中包含last_post_date
。 如果两个表都在同一个数据库中,则可以使用Source Qualifier覆盖
select Trx_No, Field1, Field2, trx_date from BBB where trx_date > last_post_date
但是,如果两个表都在不同的数据库中和/或您不能在它们之间创建数据库链接,请使用以下解决方案。
Expression
转换。 o_Dummy
并将值硬编码为1
(对于两个转换) normal join
。 加入条件为o_Dummy = o_Dummy1
。 filer
过滤器过滤记录,其中trx_date > last_post_date
。 这就是你的流程。
SQ_AAA -> Expression -> Joiner -> Filter -> Target
SQ_BBB -> Expression -^
使用源限定符从BBB
读取数据,然后查找AAA
和条件为trx_date>last_post_date
的过滤器。
理想情况下,您将使用从Expression变量端口v_LastPostDate = IIF(ISNULL(v_LastPostDate), LKP.LoopkupToAAA, v_LastPostDate)
的未连接查找,例如v_LastPostDate = IIF(ISNULL(v_LastPostDate), LKP.LoopkupToAAA, v_LastPostDate)
-这样可以确保您仅执行一次查找。 并不是说单一值会很重要,但是我想我会分享一些好的做法:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.