none
Consulta ramificada en base a la misma tabla ordenar por nivel RRS feed

  • Pregunta

  • Buen día.

    Estoy trabajando con una tabla para hacer un menú, en la cual referencias a la misma tabla para señalar a que menú perteneces y poder hacer la ramificación de tipo árbol.

     Al momento de traerme la consulta me gustaría poder obtener esta misma ramificación con orden como se muestra en la imagen y que funcione para N cantidad de niveles.

    Orden de menu

    El problema actual es que componentes y administrador tienen en mismo nivel y hacer mi consulta en SQL el orden es el siguiente

    -componentes

    -administrador

    -arribo

    -inspección

    -proveedor

    -gestión

    Y quiero que sea 

    -componentes

    -arribo (sub menu de componentes)

    -inspección (sub menu de componentes)

    -administrador 

    -proveedor (sub menu de administrador)

    -gestión (sub menu de administrador)

    Les dejo tabla y la consulta 

    CREATE TABLE [API].[Menu](
    	[MenuID] [int] IDENTITY(1,1) NOT NULL,
    	[SubMenuOrder] [int] NULL,
    	[MenuNameEn] [nvarchar](50) NULL,
    	[MenuNameSp] [nvarchar](300) NOT NULL,
    	[MenuHref] [nvarchar](500) NULL,
    	[MenuIcon] [nvarchar](50) NULL,
    	[DadMenu] [int] NULL,
    	[AppName] [nvarchar](50) NOT NULL,
    	[MenuDepartment] [nvarchar](50) NULL,
    	[Active] [bit] NOT NULL,
     CONSTRAINT [PK__Menu__C99ED25026B08FFB] PRIMARY KEY CLUSTERED 
    (
    	[MenuID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    
    select * from api.menu where AppName = 'PTS' order by APPNAME,DadMenu,SubMenuOrder
    Podemos agregar campos si es necesario


    Alejandro Gomez Estudiante en apuros


    • Editado agg9505 jueves, 10 de octubre de 2019 23:49
    jueves, 10 de octubre de 2019 23:48