2012-12-07 18 views
0

我有一個存儲過程中的代碼,它需要加入一個逗號熟食字符串列。我嘗試過,但它無法識別sql服務器。請讓我知道正確的方法。以下是代碼:加入一個逗號熟食字符串列 - sql server

INSERT INTO CPE_EXT_Downloaded (FileName, LocalServerID, WaitingACK, CreationDate, FileSize, MD5, ErrorMsgTime, LocationID, OfferID) 
    SELECT 
     cip.FileName, LS.LocalServerID, cip.WaitingACK, cip.CreationDate, 
     cip.FileSize, cip.MD5, cip.ErrorMsgTime, ILV.LocationID, cip.OfferID 
    FROM 
     @WorkSet ws  
    INNER JOIN 
     CPE_IncentiveDLBuffer_Pending cip WITH (NOLOCK) ON cip.POID = ws.POID 
    INNER JOIN 
     CPE_IncentiveLocationsView AS ILV WITH (NOLOCK) ON ILV.IncentiveID = cip.OfferID 
    INNER JOIN 
     LocalServers AS LS WITH (NOLOCK) ON LS.LocationID = ILV.LocationID 
    CROSS APPLY on 
     dbo.split(cip.LocationGroups, ',') AS ST ON st.items = ILV.LocationID 
    WHERE 
     LS.MustIPL = 0 
+0

請正確格式化您的代碼。請參閱[如何格式化我的代碼塊](http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks)以瞭解如何。 –

+0

在CROSS APPLY之後,**不能**立即開啓! –

回答

0

您是否考慮過定期加入?

 FROM @WorkSet ws  
     INNER JOIN CPE_IncentiveDLBuffer_Pending cip WITH (NOLOCK) 
     on cip.POID = ws.POID 
     inner join CPE_IncentiveLocationsView as ILV WITH (NOLOCK) 
     on ILV.IncentiveID= cip.OfferID and 
      ','+cip.LocationGroups+',' like '%,'+ILV.LocationId+',%' 
     Inner Join LocalServers as LS with (NoLock) on LS.LocationID=ILV.LocationID 
+0

您需要一些通配符:'''','+ ILV.LocationId +',%'' –

+0

@HansKesting。 。 。謝謝你收到。 –

相關問題