【发布时间】:2017-01-16 15:35:28
【问题描述】:
我有这个 SQL 代码:
SELECT * FROM `clients_branches`
WHERE NULLIF(clients_branches.invoice_email, '') IS NULL
GROUP BY client_code
HAVING COUNT(*) = 1
它返回在数据库中只出现一次的所有行,也只返回没有设置电子邮件的行。现在我需要将 UPDATE 函数应用于所有这些 select 语句。我怎么能做到?我需要将所有这些行的 clients_branches.invoice_send 设置为 0。
我似乎无法像这样在 UPDATE 语句中使用 HAVING COUNT:
UPDATE `clients_branches`
SET clients_branches.invoice_send = 0
WHERE NULLIF(clients_branches.invoice_email, '') IS NULL
HAVING COUNT(*) = 1
如果没有 HAVING COUNT,我将更改此表中至少重复一次的所有行。我只需要更改 count = 1 的那些。
【问题讨论】:
标签: mysql select sql-update