No entiendo bién que es lo que quieres hacer, pero creo que la solución a tu cuestión es utilizar
UNION.
Código SQL
[-]
SELECT id, codigo, nombre, cantidad
FROM PEDIDOS
WHERE
codigo = 'A001'
UNION ALL
SELECT id, codigo, nombre, cantidad
FROM COMPRAS
WHERE
codigo = 'A001'
Si las tablas contienen
Código:
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
deolvería
Código:
ID CODIGO NOMBRE CANTIDAD
1 A001 TORNILLOS A 5.000
4 A001 TORNILLOS A 4.000
2 A001 TORNILLOS A 15.000
5 A001 TORNILLOS A 25.000
Nota:
La instrucción UNION puede tener dos formas
UNION : Si un registro se repite solo devuelve uno.
Si tanto en la tabla de pedidos como en compras hubiera un registro 1,'A001', TORNILLOS A, 10,000 te deolvería una sola línea
UNION ALL : Devuelve todos los registros aunque estén repetidos.
Si tanto en la tabla de pedidos como en compras hubiera un registro 1,'A001', TORNILLOS A, 10,000 te deolvería dos líneas)
Nota 2:
Puedes agregar un campo fijo para saber el origen de cada dato. De lo contrario no sabrás si el ID se refiere al ID de una tabla o de otra
Código SQL
[-]
SELECT 'PED' as tipo, id, codigo, nombre, cantidad
FROM PEDIDOS
WHERE
codigo = 'A001'
UNION ALL
SELECT 'COM' as tipo, id, codigo, nombre, cantidad
FROM COMPRAS
WHERE
codigo = 'A001'