SQL - Como hacer este Select

 
Vista:

Como hacer este Select

Publicado por Carlos (2 intervenciones) el 29/09/2005 07:09:40
Gracias por leer mi Post, mi consulta es la siguiente, tengo una tabla Factura y otra detalle,
como puedo hacer un Select que me muestre UN SOLO registro, según una condición, (como si usara "distinct", pero no me sirve, el distinc me pide todos los campos del Select y solo lo quiero hacer por un solo campo...).
Ej:
Factura(ID, Fecha, Cliente, Monto,etc...)
Dettalle(idFactura,idArticulo,Status,cant,monto,etc)

1 10/10/05 Carlos 65.000,00
1 a1 P 1 20.000,00
1 a2 P 1 23.000,00
1 a4 S 1 21.000,00
2 10/10/05 Antonio 85.000,00
1 a1 P 1 20.000,00
1 a2 N 1 23.000,00
1 a4 P 1 21.000,00
1 a9 P 1 21.000,00
Respuesta de mi Select:

Select * from Factura F Join Detalle D on F.ID=D.idFactura Where Status='P'

1 10/10/05 Carlos 65.000,00 1 a1 P 1 20.000,00 *
1 10/10/05 Carlos 65.000,00 1 a2 P 1 23.000,00
2 10/10/05 Antonio 85.000,00 1 a1 P 1 20.000,00 *
2 10/10/05 Antonio 85.000,00 1 a4 P 1 21.000,00
2 10/10/05 Antonio 85.000,00 1 a9 P 1 21.000,00

Y yo solo quiero que si ya existe la condicion en un Número de Factura (los que tienen *), solo me traiga un solo registro por Número de factura distinta (como hacer un distinct, pero solo por el campo de N.Factura), no se si me explique bien....

Gracias de antemano....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Como hacer este Select

Publicado por Liliana (426 intervenciones) el 29/09/2005 13:24:09
Hola Carlos,
Fijate en los Libros en pantalla, detalles sobre funciones de agrupación, como sum, que es lo que necesitás en este caso.

Select F.Id, Fecha, Cliente, F.Monto, Monto = Sum(D.Monto)
from Factura F Join Detalle D on F.ID=D.idFactura Where Status='P'
Group By F.Id, Fecha, Cliente, F.Monto

Liliana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar