Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   join top 1 (https://www.clubdelphi.com/foros/showthread.php?t=84548)

look 02-11-2013 02:53:30

join top 1
 
hola amigos, tengo la siguiente consulta:
Código SQL [-]
select (a.can_tot- a.tot_desc)as tot
from pfact01 a
join fact01 b on b.clv_doc = a.clv_doc
join cuen01 c on c.no_fact = a.clv_doc
where  a.impuesto = 12 and b.status <> 'A'
and  cast(b.fecha_doc as date) between cast(:fecha_ini as date) and cast(:fecha_fin as date)
and (c.tipo_mov =  10 OR c.tipo_mov =  31)

pfact01 = partidas de factura
fact01 = cabecera de facturas
cuen01 = pagos

la consulta funciona bien, siempre y cuando la factura sea pagada con un solo movimiento, es decir solo un registro en la tabla cuen01, pero cuando el usuario paga una factura con varios pagos, esta me duplica los registros, ya que cada registro en cuentas registra un pago, mi pregunta es :
es posible hacer un join top 1 ? , ya que mi problema radica aqui:
Código SQL [-]
join cuen01 c on c.no_fact = a.clv_doc
de esta tabla solo necesito un registro ya que hace la relacion por el numero de documento.

look 02-11-2013 03:08:01

esta fue la solucion, no se que no di con ella antes, uff hoy a sido un dia de esos .... :(
Código SQL [-]
select distinct a.clv_doc, (a.can_tot- a.tot_desc)as tot
from pfact01 a
 join fact01 b on b.clv_doc = a.clv_doc
 join cuen01 c on c.no_fact = a.clv_doc
where  a.impuesto = 12 and b.status <> 'A'
and  cast(b.fecha_doc as date) between cast(:fecha_ini as date) and cast(:fecha_fin as date)
and (c.tipo_mov =  10 OR c.tipo_mov =  31)


en fin ... saludos!

Casimiro Notevi 02-11-2013 09:27:00

Un título muy descriptivo ;)

look 03-11-2013 03:18:10

Cita:

Empezado por Casimiro Notevi (Mensaje 469218)
Un título muy descriptivo ;)



Saludos amigo! :)

Casimiro Notevi 03-11-2013 11:32:09

Lo digo porque es normal tener que recordar a los novatos que se deben poner títulos descriptivos a las preguntas, ya conocemos todos los motivos. Pero es extraño que un amigo como tú, con tanto tiempo en clubdelphi, olvide ese detalle :)

look 04-11-2013 17:32:53

Cita:

Empezado por Casimiro Notevi (Mensaje 469248)
Lo digo porque es normal tener que recordar a los novatos que se deben poner títulos descriptivos a las preguntas, ya conocemos todos los motivos. Pero es extraño que un amigo como tú, con tanto tiempo en clubdelphi, olvide ese detalle :)

Tienes toda la razon amigo, atribuyo mi error a las noches de desvelo que he tenido trabajando, no estaba pensando con claridad ejeje :p

Saludos!


La franja horaria es GMT +2. Ahora son las 00:35:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi