Mysql
 sql >> Datenbank >  >> RDS >> Mysql

@ Symbol - eine Lösung für die rekursive SELECT-Abfrage in Mysql?

Ich frage mich immer wieder, ob so etwas funktionieren würde:

select distinct col1, col2
from (select col1, col2,
             @pv:=(case when find_in_set(col3, @pv) then @pv else concat(@pv, ',', col3) 
                   end) as 'col3'
      from table1 join
          (select @pv:='1') tmp
          on find_in_set(col1, @pv) > 0
     ) t

So etwas sollte für kleine Datensätze funktionieren. Die Idee, alle IDs in einen String zu stecken, ist jedoch auf die Kapazität eines Strings beschränkt.