Ver Mensaje Individual
  #3  
Antiguo 28-08-2022
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
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 [-]
/*
Devuelve los campos ID, CODIGO, NOMBRE, CANTIDAD 
de las tablas PEDIDOS y COMPRAS 
cuyo CODIGO='A001'
*/
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 [-]
/*
Devuelve los campos ID, CODIGO, NOMBRE, CANTIDAD 
de las tablas PEDIDOS y COMPRAS 
cuyo CODIGO='A001'
*/
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'

/*
Devuelve
    TIPO  ID   CODIGO    NOMBRE         CANTIDAD

    PED    1    A001   TORNILLOS A      5.000
    PED    4    A001   TORNILLOS A      4.000
    COM    2    A001   TORNILLOS A      15.000
    COM    5    A001   TORNILLOS A      25.000
*/
Responder Con Cita