此篇要繼續介紹一個Join的Step:[Lookup]Database lookup,它的特色就是,Join之後只會回傳一筆資料,例如可以使用Database lookup來取得每個客戶最近一筆的登入紀錄;如果是客戶所有的登入紀錄的話,要改用前一篇的Merge join來完成。
Database lookup會根據前一個Step的資料流去查詢資料,並將查詢到的欄位加入到資料流中,意思也就是說,如果前一個Step取得了5筆客戶資料,那麼Database lookup會針對這5筆資料再去指定的table中查詢,並將查詢結果的欄位加入到這5筆資料當中,查詢後的資料筆數一樣會維持在5筆,也適合使用在一對一的情況,所以不像前兩篇的Join,Join結果可能會有多筆的情況
以北風Northwind為例,想要取得客戶最新的訂單,下圖以 CustomerID='ALFKI'來查詢訂單資料,最新的訂單日期1998-04-09
新增與設定Table input
新增Database lookup
設定Database lookup
CustomerID='ALFKI'最新的訂單日期是1998-04-09
以上就是三篇就是有關於Join的介紹,3種Step各有它們的特色,設定方式也都不同,可視情況自行挑選使用
1.直接下SQL,可在SQL中傳入前一個Step中的欄位值
2.提供2種Join方式LEFT JOIN 與 OUTER JOIN
1.不用下SQL,直接選擇要join的欄位
2.一定要事先排序join的欄位
3.提供4種Join方式FULL OUTER、LEFT OUTER 、RIGHT OUTER、INNER JOIN
1.不用下SQL,直接選擇要查詢的欄位
2.查詢結果只會取得一筆資料