递归字符串比较

时间:2009-12-16 11:24:07

标签: tsql

我对T-SQL中的循环和递归查询不是很强(不过考虑到它更像是一种基于集合的语言)但是我还有一些问题,如果不使用递归查询而我无法弄清楚一个功能?

我有2个名为Brands and Products的表。

CREATE TABLE Brands (RowID INT, BrandName VARCHAR(50))
CREATE TABLE Products (RowID Int, ProductName VARCHAR(50), BrandName VARCHAR(50))

所以基本上,我需要根据Brands表检查Products表中的每一行,看看BrandName是否出现在Products表的ProductName中。如果是这样,请更新产品表中的BrandName字段。

感谢。

1 个答案:

答案 0 :(得分:1)

据我所知,不需要递归或循环来执行此操作:

UPDATE Products
SET BrandName = 'updated value'
FROM Products AS p
    INNER JOIN Brands AS b
        ON p.ProductName LIKE '%' + b.BrandName + '%'