Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 28-08-2022
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
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
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
SQL - Relación de 3 Tablas VFont SQL 2 01-07-2014 01:01:18
Relación de dos tablas laguilar59 SQL 3 13-12-2012 17:05:55
unir dos tablas djanp Conexión con bases de datos 5 28-11-2007 15:30:06
Relacion de dos tablas DBF Antuan Conexión con bases de datos 7 01-10-2005 21:10:50
unir tablas Mario1980 Conexión con bases de datos 8 22-10-2004 10:36:45


La franja horaria es GMT +2. Ahora son las 15:23:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi