[英]REPLACE with INNER JOIN SQL Server
FROM
DW_Stage.PreStage.FilteredCoupon c
INNER JOIN
DW.Linkage l WITH (nolock)
REPLACE([l.CouponNumber], '/', '') ON (c.CouponSeqNbr = l.CouponNumber
AND c.PNRCreateDate = l.PNRCreateDate
AND c.PNRLocator = l.PNRLocator
AND c.PrimaryDocNbr = l.PrimaryDocNbr)
因此,在CouponNumber中有兩個記錄有一個“ /”,這導致我的SSIS包失敗。 如果我使用此REPLACE函數,這將是它的最佳用法? 還是應該在ON部分使用REPLACE功能? 謝謝
您希望replace()
在on
一部分。 您的語法沒有意義。 但您也想刪除方括號:
FROM DW_Stage.PreStage.FilteredCoupon c INNER JOIN
DW.Linkage l
ON c.CouponSeqNbr = REPLACE(l.CouponNumber, '/', '') AND
c.PNRCreateDate = l.PNRCreateDate AND
c.PNRLocator = l.PNRLocator AND
c.PrimaryDocNbr = l.PrimaryDocNbr
ON
條件前的括號也不會增加任何值。
FROM
DW_Stage.PreStage.FilteredCoupon c
INNER JOIN
DW.Linkage l WITH (nolock)
ON
(
c.CouponSeqNbr = REPLACE([l.CouponNumber], '/', '')
AND c.PNRCreateDate = l.PNRCreateDate
AND c.PNRLocator = l.PNRLocator
AND c.PrimaryDocNbr = l.PrimaryDocNbr )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.