Я хотел бы использовать оператор CASE
в сочетании с LIKE LEFT JOIN
в tblAssets.У меня возникают проблемы с использованием LIKE
после THEN
в моем заявлении по делу.Ниже у меня есть два отдельных запроса, которые работают.Мне нужно использовать первый запрос для нескольких сценариев, как во втором запросе, но объединение, когда они похожи друг на друга.Можно ли это сделать?
1-й запрос
SELECT tblAssets.AssetName, tblDBFeedImport.DEAL_SRC_NAME
FROM tblDBFeedImport
LEFT JOIN tblAssets
ON tblDBFeedImport.DEAL_SRC_NAME LIKE + '%' + tblAssets.AssetName + '%'
2-й запрос
SELECT DISTINCT tblAssets.AssetID, tblAssets.AssetName, tblAssets.LS2Name, tblDBFeedImport.DEAL_SRC_NAME, tblDBFeedImport.FACILITY_NAME, tblAssets.PipelineStatusID
FROM tblDBFeedImport
LEFT JOIN tblAssets
ON tblDBFeedImport.DEAL_SRC_NAME =
CASE
WHEN tblAssets.AssetName LIKE '%' + tblDBFeedImport.DEAL_SRC_NAME + '%' THEN tblAssets.AssetName
WHEN tblAssets.LS2Name LIKE '%' + tblDBFeedImport.DEAL_SRC_NAME + '%' THEN tblAssets.LS2Name
END
WHERE 1=1
AND tblAssets.PipelineStatusID=6
ORDER BY tblAssets.AssetName, tblDBFeedImport.DEAL_SRC_NAME, tblAssets.LS2Name