Sql update 如果table1.column2与table2.column2类似,则SQL更新table1.column1

Sql update 如果table1.column2与table2.column2类似,则SQL更新table1.column1,sql-update,sql-like,Sql Update,Sql Like,我有两张桌子。产品P1和制造商M1。我想查看制造商名称是否在P1.title中,并用M1.manufacturer\u id更新P1.manufacturer\u id 我收到错误1054-where子句中的未知列“manufacturers.manufacturer\u name” 另外,P1.title(如%M1.manufacturer_name%)的正确语法是什么 谢谢。您没有发布太多关于表格结构或制造商与产品之间关系的信息,因此下面是我的最佳猜测:请仔细检查并测试它。我更喜欢使用连接来

我有两张桌子。产品P1和制造商M1。我想查看制造商名称是否在P1.title中,并用M1.manufacturer\u id更新P1.manufacturer\u id

我收到错误1054-where子句中的未知列“manufacturers.manufacturer\u name”

另外,P1.title(如%M1.manufacturer_name%)的正确语法是什么


谢谢。

您没有发布太多关于表格结构或制造商与产品之间关系的信息,因此下面是我的最佳猜测:请仔细检查并测试它。我更喜欢使用连接来写这篇文章,但是在不知道外键是什么的情况下,我不愿意冒险复制

UPDATE P1
SET P1.Manufacturer_ID = 
  (
    SELECT TOP 1 Manufacturer_ID 
    FROM Manufacturers 
    WHERE P1.Title LIKE '%' + manufacturer_name + '%'
  )
FROM Products P1

也许我需要一个FOR-EACH来遍历产品?
UPDATE P1
SET P1.Manufacturer_ID = 
  (
    SELECT TOP 1 Manufacturer_ID 
    FROM Manufacturers 
    WHERE P1.Title LIKE '%' + manufacturer_name + '%'
  )
FROM Products P1