sql - 在 UPDATE 语句中使用 HAVING 子句

标签 sql sql-server-2008 having

这个查询

SELECT
FirstName, LastName, NCAAStats.AccountId, College_Translator.school_name, StatTypeId, COUNT(*) AS 'Count'
FROM NCAAstats
INNER JOIN College_Translator
ON College_Translator.AccountID = NCAAstats.AccountId
GROUP BY FirstName, LastName, NCAAStats.AccountId, College_Translator.school_name, CalendarYear, StatTypeId
HAVING COUNT(*) >1
ORDER BY 'Count' DESC

选择我想设置的记录 ISValid位到 0 .

这些记录是由于输入错误而在我的数据库中出现两次的记录。

我正在寻找类似的东西:
UPDATE NCAAstats
SET IsValid = 0
WHERE (my select statement)

这是在 MS SQL SERVER 2008 上

谢谢!

最佳答案

您可以像这样加入该子查询:

update n1 set
    isvalid = 0
from
    ncaastats n1
    inner join (
        SELECT
        FirstName, LastName, NCAAStats.AccountId, College_Translator.school_name, StatTypeId, COUNT(*) AS 'Count'
        FROM NCAAstats
        INNER JOIN College_Translator
        ON College_Translator.AccountID = NCAAstats.AccountId
        GROUP BY FirstName, LastName, NCAAStats.AccountId, College_Translator.school_name, CalendarYear, StatTypeId
        HAVING COUNT(*) >1
    ) n2 on
        n1.accountid = n2.accountid

关于sql - 在 UPDATE 语句中使用 HAVING 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8793914/

相关文章:

使用 GROUP BY 进行 SQL MERGE

sql - SQL 中的 COALESCE 函数

MySQL 5.6 InnoDB count、group by、having 和 order by 返回错误结果

Mysql - 如果没有行则计数为0

mysql - 使用 MySql 仅在 varchar 数据字段中获取日期

python - SQL在特定列中插入多个数据(python)

php - Mysql根据一些数据创建一个表

sql - SQL Server 2008中如何限制用户只能访问一种模式的对象?

mysql - 这个带有 HAVING MAX 的查询实际上如何正确工作?

mysql - 如何在多列上执行 SELECT(例如 2)?