Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   incluir dos detalles en QuickReport.....! (https://www.clubdelphi.com/foros/showthread.php?t=27066)

uper 10-11-2005 19:51:54

incluir dos detalles en QuickReport.....!
 
hola a todos

necesito hacer un reporte de dos tablas detalle, es decir manejo una tabla pedido y detalle_1 y detalle_2.
Las actualizaciones las hago por medio del Ibdataset por separado, ya que en la tabla detalle_1 se van agregando ordenes y en el detalle_2 son para agregar otros elementos, esta fue la unica razon de poder incluir en un pedido dos detalle por manejar informacion para produccion.

Yo quisiera saber como podria hacer un Ibquery o dos Query segun para que me pueda dar como resultado los dos detalles incluidos en una sola sentencia sql, por que considerando el modelo a veces se incluyen los otros elementos o a veces los dos detalles o solo se incluye los otros elementos.

obteniendo el query como seria plasmado en el Quickreport.

espero haberme entendido, Alguien ha incluido dos detalle en un solo quickreport, bueno les agradesco alguna referencia por que no se como hacerlo, muchas gracias.

jachguate 10-11-2005 21:52:05

lo siento, pero no entendí nada.. :confused:

uper 10-11-2005 23:05:57

Hola

me refiere a formar una subconsulta pero no encuentro nada en la web, no es que los moleste o algo por el estilo solo quiero hacer una sola consulta abarcando las tres tablas.

Pedido
Ped_detalle
Ped_Otros


gracias.

vtdeleon 10-11-2005 23:11:25

Saludos

Bueno, dinos o plantea aquí las estructura de cada tabla (con 2 o 3 registro), y como deseas que ésta consulta quede

*Utiliza la etiqueta [code] [/code ] para hacer la estructura

nidia 11-11-2005 11:02:08

Cita:

Empezado por uper
Hola

"solo quiero hacer una sola consulta abarcando las tres tablas."

Pedido
Ped_detalle
Ped_Otros


gracias.

bueno, si lo que quieres es que en de una misma consulta puedan regresarte valores de las 3 tablas, imagino que hay un campo en comun entre las 3 tablas para que puedan relacionarse algún id. de detalle.

select p.campo1,p.campo2..., d.campo1,d.campo2...,o.campo1,o.campo2...
from (ped_detalle d join pedido p on d.id_pedido=p.id_pedido) join ped_otros o on p.id_pedido=o.id_pedido
where condiciones (debes hacer referencia a cada campo con el alias-de-tabla.campo, como en la parte del select)

con esto estas reacionando las 3 tablas segun el número de pedido que sea igual en las 3 tablas.
bueno eso fue o que entendi que necesitabas!!

Emilio 11-11-2005 18:08:14

Cita:

Empezado por uper
espero haberme entendido

Espero que hayas conseguido entenderte :D

uper 11-11-2005 22:12:32

hola

estoy intentando como generar la sentencia sql y como quedaria en el quickReport,
tabla pedido
Código:

 
 PEDIDO_ID, PED_CLIENTE, PED_FECHA, PED_IVA, PED_SUBTOTAL, PED_TOTAL
 
 Tabla detalle1
 DET_IND, DET_ORDEN, DET_CANTIDAD, DET_PRECIO
 
 tabla detalle2
  DET_ANX_ID, DET_ANX_MAT, DET_ANX_CANTIDAD, DET_ANX_PRECIO

donde: DET_IND, DET_ANX_ID van refenciadas a PEDIDO_ID.
como explicaba, que bandas uso para que me de el reslutado de las tres tablas, en caso de que las tres tablas tuviese informacion o solo una de las dos del detalle.
intente interpretar esto para interbase
Código SQL [-]
 Select PEDIDO_ID, PED_CLIENTE, PED_IVA, PED_SUBTOTAL, PED_TOTAL, DET_IND, DET_ORDEN,
   DET_CANTIDAD, DET_PRECIO, DET_ANX_ID, DET_ANX_MAT, DET_ANX_CANTIDAD, DET_ANX_PRECIO
   from PEDIDOS inner join PEDIDOS_DET on PEDIDOS_DET.DET_IND=PEDIDOS.PEDIDO_ID)
 inner join PEDIDOS_ANEXOS on PEDIDOS_ANEXOS.DET_ANX_ID=PEDIDOS.PEDIDO_ID)
 where PEDIDOS.PEDIDO_ID
 in (select DET_IND from PEDIDOS_DET where PEDIDOS_DET.DET_IND=PEDIDOS.PEDIDO_ID)
 and PEDIDO_ID=1

pero el resulta en el quickreport no es el esperado en pantalla me vuelve a duplicar los regsitros para ser impresos use un Qrband-rbDetail

Código PHP:

 cantidad  clave  descripcion
  1            1       producto1
  1            2       producto2
  1            1 
--->me duplica
  1            2 
--->me duplica 

esos es lo quiero hacer, la verdad no se como incluir esta consulta en el quickreport.
Gracias.

nidia 12-11-2005 21:54:46

si en clave es donde se te duplican los valores, le has calado con order by por clave, y cantidad para que lo pueda hacer unicos

CIMERO 17-05-2007 00:45:35

Probaste usando left join? seria:
select * from <tablaprincipal>
left join tabla1 on tablaprincipal.campo=tabla1.campo
left join tabla2 on tablaprincipal.campo=tabla2.campo

el left join trae todos, los campos de la tabla que esta a la izquierda, en este caso tablaprincipal, y los de la derecha si existen, de lo contrario deja null.
suerte!!

egostar 17-05-2007 00:57:34

Hola CIMERO, bienvenido al Club, parece que tu comentario llega un poco tarde, el último post fue hecho el 12/11/2005, de todas formas se agradece tu intervención.

Te invito a que leas nuestra Guía de Estilo y la otra Guía de Estilo.

Pues nada, nuevamente bienvenido y espero disfrutes y aproveches todo lo que tenemos en el Club.

Salud OS


La franja horaria es GMT +2. Ahora son las 00:10:49.

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