Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Seleccionar valores de dos tablas...

Estas en el tema de Seleccionar valores de dos tablas... en el foro de Mysql en Foros del Web. Hola, Intentare explicar bien mi problemilla... Tengo un par de tablas en la misma base de datos: tabla1: Cita: +---------+---------+-----------+ | Codigo | Precio | ...
  #1 (permalink)  
Antiguo 02/08/2010, 07:24
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 7 meses
Puntos: 5
Seleccionar valores de dos tablas...

Hola,

Intentare explicar bien mi problemilla...

Tengo un par de tablas en la misma base de datos:

tabla1:
Cita:
+---------+---------+-----------+
| Codigo | Precio | I.V.A. |
+---------+---------+-----------+
| 65 | 500.25 | 6 |
| 60 | 200.50 | 14 |
| 63 | 500.00 | 16 |
+---------+---------+-----------+

Codigo: Identifica el ID del producto
Precio: El precio total del producto
I.V.A.: el porcentaje en valor numérico simple que fue cobrado
tabla2:
Cita:
+------------+---------+
| codigo_RPF | IVA_RPF |
+------------+---------+
| 65 | 6 |
| 60 | 14 |
| 55 | 16 |
| 52 | 16 |
| 45 | 16 |
| 52 | 14 |
+------------+---------+

Codigo_RPF: Es el mismo "Codigo" de la tabla1
IVA_RPF: Es el mismo "I.V.A." de la tabla1
Cómo véis, la primera tabla guarda unos valores similares a la segunda tabla con la salvedad que en la segunda tabla hay otros 'I.V.A.s" incluídos.

Y aquí me pregunta...

Cómo puedo hacer una consulta a la BD para que me imprima los valores donde en la primera tabla el "Codigo"=14 y los valores de la segunda tabla donde el "IVA_RPF"=14 sin repetir el valor que pueda estar en la tabla1?

O dicho de otra manera:

Cómo puedo unificar en una sola consulta las siguientes dos consultas:

Código PHP:
sql1SELECT FROM table1 WHERE Codigo='14';
y
sql2
SELECT FROM tabla2 WHERE IVA_RPF='14';

//Para imprimir lo siguiente, segun el ejemplo:

|      60     |   200.50 |       14       |  -> de la tabla1
|      60     |     null     |       14       |  -> de la tabla2
|      52     |     null     |       14       |  -> de la tabla2 
Gracias por vuestra ayuda.
__________________
Andrew :P
  #2 (permalink)  
Antiguo 02/08/2010, 07:29
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 7 meses
Puntos: 150
Respuesta: Seleccionar valores de dos tablas...

No lo he usado mucho pero se utiliza el UNION para eso: http://dev.mysql.com/doc/refman/5.0/es/union.html

Otro link: http://mysql.conclase.net/curso/?sqlsen=UNION

Saludos
  #3 (permalink)  
Antiguo 02/08/2010, 08:03
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Seleccionar valores de dos tablas...

Un añadido a la recomendación de Vun: usa el NULL para tener las mismas columnas en los dos select y obtener null.
(SELECT Codigo, precio, IVA FROM tabla1 WHERE IVA = 14)
UNION ALL
(SELECT Codigo_RPF, NULL, IVA_RPF FROM tabla2 WHERE IVA_RPF = 14)

Última edición por jurena; 02/08/2010 a las 08:09
  #4 (permalink)  
Antiguo 09/08/2010, 02:23
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 7 meses
Puntos: 5
De acuerdo Respuesta: Seleccionar valores de dos tablas...

Gracias por vuestras respuestas! Me han resultado de mucha utilidad.

POST RESUELTO
__________________
Andrew :P

Etiquetas: dos, seleccionar, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:02.