sql >> Databáze >  >> RDS >> Sqlserver

Problém s dotazem SQL Server2005

Můžete využít rekurzivní CTE .

Něco jako toto

DECLARE @Table TABLE(
        Supervisorid INT,
        Empid INT
)

INSERT INTO @Table SELECT 3, 4
INSERT INTO @Table SELECT 3, 5
INSERT INTO @Table SELECT 3, 8

INSERT INTO @Table SELECT 4, 9
INSERT INTO @Table SELECT 4, 10
INSERT INTO @Table SELECT 4, 11

INSERT INTO @Table SELECT 8, 12
INSERT INTO @Table SELECT 8, 13

DECLARE @ID INT
SELECT  @ID = 3

;WITH Vals AS (
        SELECT  *
        FROM    @Table
        WHERE   SuperVisorID = @ID
        UNION ALL
        SELECT  v.SuperVisorID,
                t.Empid
        FROM    Vals v INNER JOIN
                @Table t    ON  v.Empid = t.Supervisorid
)
SELECT  SuperVisorID,
        COUNT(Empid) Total
FROM    Vals
GROUP BY    SuperVisorID



  1. MySQL převod mezi dvěma formáty data

  2. Jak importovat více než 100 000 záznamů do databáze mysql?

  3. Jaké je přesné umístění databázových tabulek MySQL ve složce XAMPP?

  4. Jak mohu nastavit cestu pro aplikaci heroku postgresql?