¿Cuál es la forma correcta de crear consultas jerárquicas?

Cada vez que hay una lección sobre autouniones, los libros generalmente mencionan relaciones jerárquicas. Creo que esto es a lo que te refieres.

Por ejemplo, dada una tabla llamada Personas en esta estructura:

  • Nombre | Número de teléfono | Gerente

Puede hacer una consulta como esta:

  • SELECCIONE Employee.Name AS EmployeeName, Employee.PhoneNumber AS EmployeePhoneNumber, Employee.Manager AS ManagerName, Manager.PhoneNumber AS ManagerPhoneNumber FROM People as Employees LEFT JOIN People como Managers ON Employees.Name = Managers.Name DONDE Employees.Manager NO ES NULO

Entonces, en este ejemplo muy simple, puede crear una jerarquía utilizando una autounión. Cualquier fila con un valor en la columna Administrador tiene un administrador. La cláusula where es lo que especifica que un “empleado” es una persona con un gerente. Dado que los gerentes también están en la tabla de personas, debe realizar una autounión para obtener la información del gerente. También puede agregar otra cláusula where que especifique que los Managers no deberían tener administradores, sin embargo, este puede o no ser el caso.

Su pregunta no especifica qué sistema de administración de bases de datos relacionales está utilizando, pero puedo responder la pregunta para SQL Server:

También estoy asumiendo que desea hacer esto usando el motor de base de datos y T-SQL en lugar del motor de Analysis Services con MDX.

En SQL Server, la creación de relaciones jerárquicas en una consulta se denomina conformación de datos y se trata en la sección de conformación de datos de MSDN.

Un ejemplo rápido para demostrar:

Use la cláusula SHAPE para seleccionar una consulta principal y luego una cláusula APPEND para especificar los datos secundarios. El siguiente ejemplo tomado de MSDN muestra cómo crear una jerarquía utilizando el Cliente como padre y los pedidos que el cliente ha realizado como hijos.

SHAPE {SELECCIONE ID de cliente, ContactName DE clientes}

APPEND ({SELECT OrderID, OrderDate, CustomerID FROM Orders} AS chapOrders

RELACIONAR customerID con customerID)

More Interesting

¿Qué ha causado la gran mejora en los algoritmos de reconocimiento de voz en los últimos años: mejores algoritmos (si es así, ¿cuál?) O la mayor potencia informática?

¿Cómo determinaría si el error de cuando ejecuta su algoritmo de aprendizaje automático es de alto sesgo o alta varianza (también conocido como corte o sobreajuste)?

¿Es posible usar la red neuronal para predecir múltiples valores respetando ciertas condiciones?

¿Qué es mejor, el algoritmo de vecinos más cercanos a k (k-NN) o el clasificador de máquina de vectores de soporte (SVM)? ¿Qué algoritmo se usa principalmente en la práctica? ¿Qué algoritmo garantiza una detección confiable en situaciones impredecibles?

¿Puede la coincidencia de patrones funcionar en la clasificación de imágenes en color con SVM?

¿La normalización de datos tiene otros beneficios además de acelerar el descenso del gradiente? Después de calcular los parámetros (pesos), ¿es necesario normalizar los casos de prueba proporcionados por el usuario para la predicción?

¿Cómo se debe introducir el gobierno de máquinas?

¿Cuántos datos necesitamos para pensar siquiera en aplicar el aprendizaje profundo?

Cómo verificar si el objeto de una imagen existe en otra imagen

¿Cuál es la diferencia entre alineación y deformación en visión artificial?

En general, ¿necesita tener un doctorado para obtener un trabajo de Machine Learning / Data Mining en una startup o en una gran empresa?

¿Qué método de reducción de dimensionalidad puede mantener las relaciones de traslación entre puntos?

¿Cuál es la ventaja de combinar la red neuronal convolucional (CNN) y la red neuronal recurrente (RNN)?

¿Qué significa realmente el aprendizaje automático en términos reales?

¿Cómo se usa Machine Learning en las diferentes etapas de los sitios web de comercio electrónico (compras en línea)?