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

mysqlテーブルの親ツリー(whileループ)

    手順でこれを達成できます。

    CREATE PROCEDURE `root_connect`(IN init char(1),OUT str char(15))
    BEGIN
        set @startChar:=(select category_id from tableName where parent_id = init);
        set @endloop := "no";
        set @fullchar:= @startChar;
        set @newchar:= "";  
        if (@startChar !="-" OR @startChar =null) then 
            WHILE (@endloop = "no") DO                  
                set @newchar :=(select category_id from tableName where parent_id = @startChar);       
                if(@newchar = '-') THEN
                    set @endloop := "yes";
                else
                    set @fullchar:= concat(@fullchar,"-",@newchar);
                end if;         
                set @startChar := @newchar;     
            END WHILE;
        end if;
            select @fullchar;
    END
    


    1. タイムゾーンNOTNULLのないデータ型タイムスタンプのpostgresにステートメントを挿入します。

    2. データを合計するSQLクエリ

    3. jOOQでの動的ランタイムPostgreSQLスキーマ選択

    4. mysqlで`showprocesslist`をカスタマイズする方法は?