sql >> Database teknologi >  >> RDS >> Mysql

Forældretræ i mysql-tabel (while-loop)

Du kan opnå dette med Procedurer..

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. PHP 5.4 PDO kunne ikke oprette forbindelse til MySQL 4.1+ ved hjælp af den gamle usikre autentificering

  2. Oracle SQL Where-klausul for at finde datoposter, der er ældre end 30 dage

  3. Hvorfor kan PostgreSQL ikke gøre dette simple FULD JOIN?

  4. Optælling af maks. antal gange vises i databasetabellen