2012-12-07 17 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。 。 。谢谢你收到。 –

相关问题