Sql server 基于ID列的标志

Sql server 基于ID列的标志,sql-server,tsql,sql-server-2008,Sql Server,Tsql,Sql Server 2008,我试图根据两个ID列和一个标志来分配标志 输入: ID_1 ID_2 旗子1 1000 1111 N 2000 1111 Y 3000 1111 Y 4000 2222 N 5000 2222 N 我没有访问SQL Server 2008的权限,但这在Azure上有效: CREATE TABLE #t (ID_1 int, ID_2 int, Flag1 char(1)); INSERT INTO #t (ID_1, ID_2, Flag1) VALUES (1000, 1111, 'N');

我试图根据两个ID列和一个标志来分配标志

输入:

ID_1 ID_2 旗子1 1000 1111 N 2000 1111 Y 3000 1111 Y 4000 2222 N 5000 2222 N
我没有访问SQL Server 2008的权限,但这在Azure上有效:

CREATE TABLE #t (ID_1 int, ID_2 int, Flag1 char(1));

INSERT INTO #t (ID_1, ID_2, Flag1) VALUES (1000, 1111, 'N');
INSERT INTO #t (ID_1, ID_2, Flag1) VALUES (2000, 1111, 'Y');
INSERT INTO #t (ID_1, ID_2, Flag1) VALUES (3000, 1111, 'Y');
INSERT INTO #t (ID_1, ID_2, Flag1) VALUES (4000, 2222, 'N');
INSERT INTO #t (ID_1, ID_2, Flag1) VALUES (5000, 2222, 'N');

WITH flg (ID_2, MaxFlag)
AS
(
    SELECT ID_2, MAX(Flag1) MaxFlag
    FROM #t
    GROUP BY ID_2
)
SELECT t.*, flg.MaxFlag
FROM #t t
JOIN flg ON t.ID_2 = flg.ID_2;

请向我们展示您的尝试……您已经清楚地说明了条件,为什么不尝试一下呢?SQL Server 2008现在完全不受支持,是时候升级了。