sql - MySQL Multilevel parent child SP and IN Clause -


i working on table referrals contains parent child relations

enter image description here

i need parent -> children -> ther children -> ....

for above table data desired result is

enter image description here

i have seen code sof didn't how working , tried myself easy logic in mind unfirtunately not working strange reason

i have written stored procedure stuck issue in clause

delimiter $$  drop procedure if exists `gethierarchy3`$$  create definer=`root`@`localhost` procedure `gethierarchy3`() begin     declare idss varchar(225);     set @currentparentid := 999999;     set @lastrowcount := 0;    ## ##            insert referrals_copy select * referrals uid1 = @currentparentid;      set @lastrowcount := row_count();   ## b ##         select group_concat(uid2)  @idss referrals  uid1 = @currentparentid;       #select @lastrowcount;     select * referrals_copy;      while @lastrowcount > 0     select "here";          select @idss;   ## c ##             insert referrals_copy select uid1, uid2 referrals                  uid1 in (@idss);             set @lastrowcount := row_count();         #set @ids := null;         select @idss;         select group_concat(uid2) referrals  uid1 in (@idss);         select @idss;         set @lastrowcount := 0;      end while;       -- return final set     select              *         referrals_copy;  end$$  call gethierarchy3(); 

first children main parent want in first query a, working fine

then, gets children of main parent variable @idss query b, working fine

then in loop use variable idss in query children query c , put them in resultant table... problematic part

here first iteration have 1111,2222 in variable idss should result in insertion of values {3333, 4444} child of 1111, , {5555} child of 2222 in table put children of 1111 ie 3333,4444 but, not 5555

i tried replace variable query c check , worked fine values 1111,2222' withinin claues`

any idea on why in clause not accepting comma separated values group concat or idea on fixing code

regards

try find_in_set(uid1,@idss)

you have replace query part

select group_concat(uid2) referrals uid1 in (@idss);

into this

select group_concat(uid2) referrals find_in_set(uid1,@idss);

i hope work you....


Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -