Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: NIGHTBIRD en 1 Marzo 2018, 17:23 pm



Título: Unir consulta dentro de otra en SQL
Publicado por: NIGHTBIRD en 1 Marzo 2018, 17:23 pm
Buenos dias, me gustaria realizar esta consulta:

SELECT     TOP (100) PERCENT materialcemento.codigo AS Cemento, albaranes.numeroalbaran

FROM         dbo.material AS materialcemento RIGHT OUTER JOIN
                      dbo.formulas RIGHT OUTER JOIN
                      dbo.pedidos RIGHT OUTER JOIN
                      dbo.material AS material_1 RIGHT OUTER JOIN
                      dbo.lineasalbaran RIGHT OUTER JOIN
                      dbo.albaranes ON dbo.lineasalbaran.albaran = dbo.albaranes.albaranid ON material_1.materialid = dbo.lineasalbaran.material ON
                      dbo.pedidos.pedidoid = dbo.albaranes.pedido ON dbo.formulas.formulaid = dbo.albaranes.formula ON
                      materialcemento.materialid = dbo.formulas.cementolinea

WHERE     (dbo.albaranes.estadoalbaran = 1)

ORDER BY dbo.pedidos.serie, dbo.albaranes.numeroalbaran


Dentro de esta:


SELECT ALBARANES.NUMEROALBARAN, ALBARANES.Planta, dbo.conexafecha(albaranes.momento,103,0) as fecha, CLIENTES.CODEXTERNO AS CLIENTE_CODEXTERNO, OBRAS.CODIGOEXTERNO AS OBRA_CODEXTERNO, FORMULAS.DESCRIPCION AS NOMBREFORMULA, dbo.conexafecha(albaranes.momento,108,0) as hora, ALBARANES.CANTIDADALBARAN, AMBIENTE.AMBIENTEDESC

FROM ALBARANES, FORMULAS, AMBIENTE, OBRAS, CLIENTES, PEDIDOS

WHERE ALBARANES.FORMULA = FORMULAS.FORMULAID And FORMULAS.AMBIENTEID = AMBIENTE.AMBIENTEID And ALBARANES.OBRA = OBRAS.OBRAID And OBRAS.CLIENTE = CLIENTES.CLIENTEID And ALBARANES.PEDIDO = PEDIDOS.PEDIDOID

ORDER BY ALBARANES.NUMEROALBARAN




La primera consulta me da un numero de albaran y el tipo de cemento (que puede ser 1001 o 1002)

La segunda consulta me da un numero de albaran y mas campos, pero no el de cemento.
Me gustaria unir las dos. Por ejemplo meter la primera consulta en la segunda, de manera que se muestre el tipo de cemento en una columna mas en la consulta.

Gracias de antemano.

Un saludo.


Título: Re: Unir consulta dentro de otra en SQL
Publicado por: EFEX en 2 Marzo 2018, 16:17 pm
El operador UNION combina las consultas.

https://dev.mysql.com/doc/refman/5.7/en/union.html