我需要在名为PrebookCB
的表中更新名为Workorders
的列,如果表Customers
中的CustomerStatus列等于字符串'Good - Prebook',则将其设置为1。我尝试过各种各样的连接,似乎无法让它发挥作用。这似乎是最接近的。每个客户都会有多个工作人员。工作程序有一个名为CustomerID的列,它与Customers主要索引列CustomerID
UPDATE Workorders
JOIN Customers
ON Workorders.CustomerID = Customers.CustomerID
SET Workorders.PrebookCB = 1
WHERE Customers.CustomerStatus = 'Good - Prebook'
答案 0 :(得分:2)
你试过这个吗?
UPDATE Workorders SET PrebookCB = 1
WHERE CustomerID IN
(SELECT CustomerID FROM Customers
WHERE CustomerStatus = 'Good - Prebook')
答案 1 :(得分:0)
试试这个,
Update Workorders
set prebookCB = 1
where CustomerID in (select customerid from customers
where customeerstatus='Good-Prebook')
在此,UPDATE适用于您所需的表。 WHERE通过比较要在子查询的结果中出现的customerID来过滤要更新的记录。子查询,只有在具有apt状态时才会进一步过滤并从customers表中选择customerID。
希望这有助于解释!