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

Select con 3 o mas Tablas

Estas en el tema de Select con 3 o mas Tablas en el foro de Bases de Datos General en Foros del Web. Tengo un query que me genera lo siquiente. Puchitol si estas por ahí Ejemplo: SELECT * FROM rac_maeveh a, rac_cirtec b, rac_respveh WHERE a.num_vin=b.nro_vin AND ...
  #1 (permalink)  
Antiguo 04/08/2004, 14:46
Avatar de myconatani  
Fecha de Ingreso: enero-2004
Ubicación: Pje.Ralún 8955 Santiago
Mensajes: 73
Antigüedad: 20 años, 10 meses
Puntos: 1
Select con 3 o mas Tablas

Tengo un query que me genera lo siquiente.

Puchitol si estas por ahí

Ejemplo:

SELECT * FROM rac_maeveh a, rac_cirtec b, rac_respveh WHERE a.num_vin=b.nro_vin AND '21'=a.cod_suc AND b.prox_percir BETWEEN '2004-07-27' and '2004-07-27' ORDER BY patente.

La idea es que considere todos los registro (vehiculos) que existen en rac_maeveh a y que esten o no estén en el rac_cirtec b o en el rac_respveh c, y aquellos que existen cumplan con la condición WHERE y BETWEEN. Con respecto al vencimiento de su Permiso de Circulación y/o responsables.

Las tablas son :
Tabla : rac_maeveh
num_vin varchar(25)
cod_marca char(2)
cod_modelo char(3)
cod_version char(3)
agno_fabrica varchar(4)
patente varchar(10)
cod_suc char(2)

Tabla : rac_cirtec
nro_vin varchar(25)
apunte bigint(3)
fec_percir date
doc_percir varchar(10)
val_percir int(10)
prox_percir date
fec_revtec date
doc_revtec varchar(10)
val_revtec int(10)
prox_revtec date
responsable varchar(30)

Tabla : rac_respveh
nro_vin varchar(25)
cod_resp varchar(7)
cod_comu varchar(8)

Se los agradecere.
__________________
myconatani
  #2 (permalink)  
Antiguo 04/08/2004, 17:29
Avatar de jeancarle  
Fecha de Ingreso: junio-2004
Mensajes: 37
Antigüedad: 20 años, 5 meses
Puntos: 0
Mas o menos entedi tu pregunta, creo que la consulta para que te de los resultados que esperas es la siguiente:

SELECT * FROM rac_maeveh a left outer join rac_cirtec b
on a.num_vin=b.nro_vin left outer join rac_respveh c on c.nro_vin=b.nro_vin
WHERE a.cod_suc='21' AND b.prox_percir BETWEEN '2004-07-27' and '2004-07-27' ORDER BY patente.

Siempre y cuando sea en SQL Server , la sentencia left outer join te da los resultados de la primera tabla en este caso rac_maeveh y si no hay coincidencias en la tabla b (rac_cirtec ) te regresa nulos

espero que te sirva
  #3 (permalink)  
Antiguo 05/08/2004, 07:03
Avatar de myconatani  
Fecha de Ingreso: enero-2004
Ubicación: Pje.Ralún 8955 Santiago
Mensajes: 73
Antigüedad: 20 años, 10 meses
Puntos: 1
Select de tres Tablas

Hola jeancarle.

Lamentablemente estamos trabajando en Mysql por razones de costo, si tienes alguna idea de como hacerlo en mysql te lo agradecería mucho.
En todo caso voy a seguir intentando.

Atte.
Marcelo P. Lizana
nick name : myconatani
Santiago de Chile
__________________
myconatani
  #4 (permalink)  
Antiguo 05/08/2004, 08:04
Avatar de myconatani  
Fecha de Ingreso: enero-2004
Ubicación: Pje.Ralún 8955 Santiago
Mensajes: 73
Antigüedad: 20 años, 10 meses
Puntos: 1
Select no me funciona

Hola jeancarle.

La idea es que considere todos los registro (vehiculos) que existen en rac_maeveh a y que esten o no estén en el rac_cirtec b o en el rac_respveh c mostrandome nulo en aquellos registro que no estan, y aquellos que existen cumplan con la condición WHERE y BETWEEN. Con respecto al vencimiento de su Permiso de Circulación y/o responsables. Lo que pasa es que no todos los vehiculos que estan en rac_maeveh estan en las otras tablas por eso necesito mostrar la informacion de aquellos que están o no están.

Estamos trabajando con la base de datos MySql. (Version gratuita de lInternet).

Las tablas son :
Tabla : rac_maeveh
num_vin varchar(25)
cod_marca char(2)
cod_modelo char(3)
cod_version char(3)
agno_fabrica varchar(4)
patente varchar(10)
cod_suc char(2)

Tabla : rac_cirtec
nro_vin varchar(25)
apunte bigint(3)
fec_percir date
doc_percir varchar(10)
val_percir int(10)
prox_percir date
fec_revtec date
doc_revtec varchar(10)
val_revtec int(10)
prox_revtec date
responsable varchar(30)

Tabla : rac_respveh
nro_vin varchar(25)
cod_resp varchar(7)
cod_comu varchar(8)

Atte.
Marcelo P. Lizana
nick name : myconatani
Santiago de Chile
__________________
myconatani
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 14:34.