sql >> データベース >  >> RDS >> Sqlserver

Sql Server2005 クエリの問題

    再帰的な CTE を利用できます .

    このようなもの

    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. MySQLNOTINクエリが機能しない

    2. ドロップダウンで選択したフィルターに従ってデータベース値を一覧表示する

    3. MySQLの画面にVimのようなKを表示するには

    4. 列と複数の行で1つの行の複数の列にグループ化する