格式不足请见谅!!!出于某种原因,我无法弄清楚如何让它看起来像其他人一样...
久违的漫游者,第一次海报。我是 MySql 的新手,我无法理解为什么以下代码不起作用。
UPDATE CUSTOMER_T
SET Cust_Status = 'INACTIVE'
WHERE (SELECT DISTINCT Cust_No, Cust_Last_Name, Cust_Status
FROM CUSTOMER_T NATURAL JOIN BILLING_T
WHERE BILLING_T.Cust_No = BILLING_T.Cust_No
AND (DATEDIFF(BILLING_T.Billing_Due_Date, BILLING_T.Billing_Date_Paid) < (-14)
AND CUSTOMER_T.Cust_Status = "ACTIVE")
OR (CUSTOMER_T.Cust_Status = "ACTIVE"
AND BILLING_T.Billing_Date_Paid IS NULL));
我要做的是找到状态为 ACTIVE 并且他们的账单延迟超过 14 天的任何人
或者他们是 ACTIVE 并且他们的 Billing_Date_Paid 字段的状态为 NULL。
然后当我找到他们时,我想将他们的 Cust_Status 更新为“非活动”。
如果我只是运行以下命令:
SELECT DISTINCT Cust_No, Cust_Last_Name, Cust_Status
FROM CUSTOMER_T NATURAL JOIN BILLING_T
WHERE BILLING_T.Cust_No = BILLING_T.Cust_No
AND (DATEDIFF(BILLING_T.Billing_Due_Date, BILLING_T.Billing_Date_Paid) < (-14)
AND CUSTOMER_T.Cust_Status = "ACTIVE")
OR (CUSTOMER_T.Cust_Status = "ACTIVE"
AND BILLING_T.Billing_Date_Paid IS NULL);
然后我可以确定我正在寻找的人。但是,每当我尝试将此代码合并到 UPDATE 语句(我发布的第一段代码)中时,我都会收到以下错误:
Error Code: 1241. Operand should contain 1 column(s)