SELECT Det.IDarticulo, Det.Cantidad, Det.Precio, IF(<primer registro detalle>;(SELECT Descuento FROM Encabezado Cab WHERE Det.Factura = Cab.Factura);0) as "Descuento"FROM Detalle Det Deberías obtener de tu detalle cual es el primer registro y usarlo en la comparación, de esa manera el monto del encabezado lo busca solo para ese registro y en los otros te pone cero.Saludos: Miguel, Santa Rosa, La Pampa
El Sábado, 15 de abril, 2017 15:33:04, Nicolas Arnaldo <arnaldonico...@gmail.com> escribió: Buenas tardes grupo, tengo un problema que no se como resolver en SQL. Tengo dos tablas, maestro y detalles. En una sentencia SQL (sql server) necesito devolver todos los items, y tambien traer en un registro un valor del encabezado, sin que ese valor se repita. Es decir, EJ. Factura Articulo_Detalle Cantidad_Detalle Precio_Detalle Descuento_Encabezado00015 C45 10 $150.50 $2000015 C50 15 $220.75 $0 00015 C75 5 $750.15 $0 Si hago SELECT Det.IDarticulo, Det.Cantidad, Det.Precio, Cab.DescuentoFROM Detalle INNER JOIN Encabezado ON Det.Factura = Cab.Factura el descuento del encabezado se repite en todos los items, estoy tratando de usar DISTINCT pero no logro llegar al resultado deseado. El importe de descuento lo deberia poner en cualquier item, no importa cual, simplemente con que figure el importe del encabezado una sola vez es suficiente. Muchas gracias de antemano.