Tengo dos tablas creadas en Firebird (*.FDB), quiero unirlas para sacar un informe pero me encuentro con el siguiente problema, como es un poco complicado expresarlo os lo pongo en un ejemplo, esta tabla sería la original:
Código Delphi
[-]
TABLA PEDIDOS TABLA COMPRAS
ID CODIGO NOMBRE CANTIDAD ID CODIGO NOMBRE CANTIDAD
1 A001 TORNILLOS A 5.000 1 A002 ARANDELAS A 20.000
2 A002 ARANDELAS A 6.000 2 A001 TORNILLOS A 15.000
3 A003 TUERCAS A 4.000 3 A002 ARANDELAS A 20.000
4 A001 TORNILLOS A 4.000 4 A003 TUERCAS A 15.000
5 A002 ARANDELAS A 3.000 5 A001 TORNILLOS A 25.000
Lo que hago mediante SQL, es intentar filtrar la tabla pedidos y compras y filtrar por el codigo A001 (TORNILLOS A) y obtener en un informe la cantidad de pedidos y comprados de este artículo, el codigo que utilizo para esto es
Código SQL
[-]
select * from pedidos inner join compras on pedidos.id=Compras.Id where pedidos.id=' +
Quotedstr('A001') + 'and Compras.Id=' + Quotedstr('A001')
De esta informe que lo hago en Rave Reports, me sale de la siguiente manera no sale nada por que no coincidente al filtrar un mismo registro con los id iguales.
Si el código SQL es el siguiente:
Código SQL
[-]
select * from pedidos inner join compras on pedidos.id=Compras.Id where pedidos.id=' +
Quotedstr('A001');
El informe es el siguiente:
Código Delphi
[-]
TABLA PEDIDOS TABLA COMPRAS
ID CODIGO NOMBRE CANTIDAD ID CODIGO NOMBRE CANTIDAD
1 A001 TORNILLOS A 5.000 1 A002 ARANDELAS A 20.000
4 A001 TORNILLOS A 4.000 4 A003 TUERCAS A 15.000
También seria igual si el código es left join, y y si con right join.
El informe sería:
Código Delphi
[-]
ID CODIGO NOMBRE CANTIDAD ID CODIGO NOMBRE CANTIDAD
2 A002 ARANDELAS A 6.000 2 A001 TORNILLOS A 15.000
5 A002 ARANDELAS A 3.000 5 A001 TORNILLOS A 25.000
Si lo filtro por la tabla compras me arrastra los datos del mismo registro de la tabla Pedidos y al revés y sólo busco que me filtre en ambas tablas las que son iguales al código que espefico.
Lo he intentado con Inner Outer Join, y con las distintas formas de SQL JOINS
SQL Joins
Mi intención es poder sacar el siguiente informe:
Código Delphi
[-]
TABLA PEDIDOS TABLA COMPRAS
ID CODIGO NOMBRE CANTIDAD ID CODIGO NOMBRE CANTIDAD
1 A001 TORNILLOS A 5.000 2 A001 TORNILLOS A 15.000
4 A001 TORNILLOS A 4.000 5 A001 TORNILLOS A 25.000
Donde puedo ver los Tornillos pedidos y Comprados en un sólo informe, pero no encuentro la manera de filtrar ambas tablas y unirlas en este informe.