我想将此Metical查询转换为SQL Server 2005查询

我想将此Metical查询转换为SQL Server 2005查询,sql,sql-server,sql-server-2005,Sql,Sql Server,Sql Server 2005,要使其成为SQL Server中的有效查询,只需删除ORDER BY 1,因为在子查询和派生表中不允许这样做,除非指定了TOP,并且没有任何功能 但是,看起来您正在删除重复项,因此这样做可能更好 DELETE FROM rpt62_attribution_value WHERE elo_id NOT IN(SELECT elo_id FROM (SELECT elo_id, e

要使其成为SQL Server中的有效查询,只需删除
ORDER BY 1
,因为在子查询和派生表中不允许这样做,除非指定了
TOP
,并且没有任何功能

但是,看起来您正在删除重复项,因此这样做可能更好

DELETE FROM rpt62_attribution_value
WHERE  elo_id NOT IN(SELECT elo_id
                     FROM   (SELECT elo_id,
                                    elo_value,
                                    attr_value,
                                    ilo_flag,
                                    ROW_NUMBER() OVER (PARTITION BY elo_value,
                                    attr_value ORDER BY
                                    elo_id)
                                            Rank
                             FROM   rpt62_attribution_value) tmp
                     WHERE  rank = 1
                     ORDER  BY 1);  

要使其成为SQL Server中的有效查询,只需删除
ORDER BY 1
,因为在子查询和派生表中不允许这样做,除非指定了
TOP
,并且没有任何功能

但是,看起来您正在删除重复项,因此这样做可能更好

DELETE FROM rpt62_attribution_value
WHERE  elo_id NOT IN(SELECT elo_id
                     FROM   (SELECT elo_id,
                                    elo_value,
                                    attr_value,
                                    ilo_flag,
                                    ROW_NUMBER() OVER (PARTITION BY elo_value,
                                    attr_value ORDER BY
                                    elo_id)
                                            Rank
                             FROM   rpt62_attribution_value) tmp
                     WHERE  rank = 1
                     ORDER  BY 1);