0
子行が3レベル下、2レベル下、1レベル下に存在するかどうか確認したいと思います。子行が存在するかどうかを確認するサブクエリを選択してください。
select max(
case
(select row from category where relatedRow in (select row from category where relatedRow=?)) is not null then 3
(select row from category where relatedRow=?) is not null then 2
(select row from category where row=?) is not null then 1
else 0 end
) as level from category
どうすればこの作品を作成できますか?
このクエリは次のようになります。関連する行(孫)の関連する行を持つ行がある場合は、level = 3になります。関連する行(子)がある場合は、レベル2です。 (親)、親(ゴースト)がないレベル1場合は、レベル0
ご了承ください。私はレベルを取得しようとしています。私は最大3レベルありますが、パラメータが持つ子供のレベルを返すために "ケース"を使いたいと思います。あなたの例では、行= 1の場合、それは子供と孫を持ちます(レベル= 3)。しかし、行= 4の場合、それは存在し、子供と孫はいないので(レベル= 2)。これは私が必要とするものです。子供の最高レベルを表す数字。 –
その場合、次のようなことをする必要があります:http://stackoverflow.com/questions/7631048/connect-by-prior-equivalent-for-mysql –