0

如果表中的 CustomerStatus 列等于字符串“Good - Prebook”,我需要更新PrebookCB表中调用的列并将其设置为 1。我尝试了各种连接等,但似乎无法使其正常工作。这似乎是最接近的。每个客户会有多个工作订单。工作订单有一个名为 CustomerID 的列,它与名为 CustomerID 的客户主索引列相匹配WorkordersCustomers

UPDATE Workorders
       JOIN Customers
       ON Workorders.CustomerID = Customers.CustomerID
SET    Workorders.PrebookCB = 1
WHERE  Customers.CustomerStatus = 'Good - Prebook'
4

2 回答 2

2

你试过这个吗

UPDATE Workorders SET PrebookCB = 1 
WHERE CustomerID IN 
    (SELECT CustomerID FROM Customers 
    WHERE CustomerStatus = 'Good - Prebook')
于 2013-08-24T16:50:29.657 回答
0

尝试这个,

Update Workorders
set prebookCB = 1
where CustomerID in (select customerid from customers 
where customeerstatus='Good-Prebook')

在这种情况下,更新适用于您想要的表。WHERE 通过比较子查询结果中出现的 customerID 来过滤要更新的记录。子查询,仅当客户具有 apt 状态时,进一步过滤并从客户表中选择客户 ID。

希望这有助于解释!

于 2013-08-24T16:59:14.457 回答