Obtener un valor entre varios resultados
Publicado por Hu (13 intervenciones) el 10/08/2018 16:06:41
Saludos,
Tengo el siguiente select donde traigo todos los artículos vendidos, con su número de cuenta (Check) de manera correcta.
Lo que necesito ahora es hacer una relación con su su número de cuenta (Check) a otra tabla para ver con que forma de pago se pago esa cuenta, esa sería la tabla GNDTNDR y el campo TYPE = '1' y luego obtenga el código de la forma de pago en el campo TYPEID, luego que tengo el código de la forma de pago voy a TDR para ver el nombre de la forma de pago.
El problema es que en una cuenta (Check) puede haber mas de una forma de pago (ejemplo: Cash y Visa), y cuando hice la relación a GNDTNDR, en las cuentas que habían mas de una forma de pago me duplicaba los artículos por cada forma de pago, lo que me daña el select porque al final quiero obtener cada artículo vendido.
Como puedo hacer para cuando voy a buscar la forma de pago a esa tabla, si hay mas de dos forma de pago, me traiga un solo modo de pago, al final no quiero el monto, sino el codigo del pago para relacionarlo a otra tabla y buscar el nombre del pago sin que me duplique los items vendidos.
PD: Lo que esta comentado (--) es lo que trataba de hacer pero me lo arrojaba duplicados por cada forma de pago.
Ver Imágenes.
Gracias por su ayuda.
---------------------------------------
select company = 'test',
airport = 'test',
g.unit as location,
g.dob as posting_date,
g.dob as Posting_time,
g.[check] as ticket_no,
g.employee as salesperson,
customer_name = null,
nationality = null,
passport = null,
flight_no = null,
destination = null,
g.item as item_no,
i.LONGNAME as item_description,
CATEGORY as item_category,
sales_qty = '1',
g.PRICE as amount_before_discount,
g.DISCPRIC as discount_amount,
g.PRICE as amount,
itbis = null,
impuestoley = null
--t.name as paymentmethod
from gnditem g
inner join itm i on g.item = i.id
--inner join GNDTNDR gt on g.[check] = gt.[CHECK]
--inner join TDR t on gt.TYPEID = t.ID
where g.dob = '20180807' --and gt.[TYPE] = '1'
order by g.[CHECK] asc
Tengo el siguiente select donde traigo todos los artículos vendidos, con su número de cuenta (Check) de manera correcta.
Lo que necesito ahora es hacer una relación con su su número de cuenta (Check) a otra tabla para ver con que forma de pago se pago esa cuenta, esa sería la tabla GNDTNDR y el campo TYPE = '1' y luego obtenga el código de la forma de pago en el campo TYPEID, luego que tengo el código de la forma de pago voy a TDR para ver el nombre de la forma de pago.
El problema es que en una cuenta (Check) puede haber mas de una forma de pago (ejemplo: Cash y Visa), y cuando hice la relación a GNDTNDR, en las cuentas que habían mas de una forma de pago me duplicaba los artículos por cada forma de pago, lo que me daña el select porque al final quiero obtener cada artículo vendido.
Como puedo hacer para cuando voy a buscar la forma de pago a esa tabla, si hay mas de dos forma de pago, me traiga un solo modo de pago, al final no quiero el monto, sino el codigo del pago para relacionarlo a otra tabla y buscar el nombre del pago sin que me duplique los items vendidos.
PD: Lo que esta comentado (--) es lo que trataba de hacer pero me lo arrojaba duplicados por cada forma de pago.
Ver Imágenes.
Gracias por su ayuda.
---------------------------------------
select company = 'test',
airport = 'test',
g.unit as location,
g.dob as posting_date,
g.dob as Posting_time,
g.[check] as ticket_no,
g.employee as salesperson,
customer_name = null,
nationality = null,
passport = null,
flight_no = null,
destination = null,
g.item as item_no,
i.LONGNAME as item_description,
CATEGORY as item_category,
sales_qty = '1',
g.PRICE as amount_before_discount,
g.DISCPRIC as discount_amount,
g.PRICE as amount,
itbis = null,
impuestoley = null
--t.name as paymentmethod
from gnditem g
inner join itm i on g.item = i.id
--inner join GNDTNDR gt on g.[check] = gt.[CHECK]
--inner join TDR t on gt.TYPEID = t.ID
where g.dob = '20180807' --and gt.[TYPE] = '1'
order by g.[CHECK] asc
Valora esta pregunta
0