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

Problemas Con Join

Estas en el tema de Problemas Con Join en el foro de PostgreSQL en Foros del Web. Hola señores del foro. recurro a vuestra ayuda por que la vedad no entiendo o nose que me pasa con la siguiente consulta. tengo dos ...
  #1 (permalink)  
Antiguo 25/05/2007, 19:04
Avatar de vpino  
Fecha de Ingreso: diciembre-2004
Ubicación: colombia
Mensajes: 265
Antigüedad: 19 años, 10 meses
Puntos: 0
Problemas Con Join

Hola señores del foro. recurro a vuestra ayuda por que la vedad no entiendo o nose que me pasa con la siguiente consulta.
tengo dos tablas y las quiero enlazar para obtener los datos de ambas pero al correr la consulta veo que los datos de la primera tabla se repite mientras muestra los datos de la segunda tabla. espero me entienda.

datos de tabla1 (con 7 registros)
tipo1 marca1 periodo1 suma1
1 0001 0507 32588508.3
1 0004 0507 1294652.48
1 0005 0507 110873.57
1 0006 0507 27299584.29
1 0008 0507 91571.51
1 0009 0507 0
1 0010 0507 0

datos de tabla1(5 registros)
tipo marca periodo suma
1 0001 0507 23545956.75
1 0004 0507 785018.25
1 0005 0507 48968
1 0007 0507 48962
1 0006 0507 21139791.65
1 0010 0507 168327.5

al ejecutar la consulta me muestra 35 registros y necesito que me muestre 8 registros

SELECT * FROM tabla1 left join tabla2 ON periodo1=periodo


que tengo de malo porfavor. y mil gracias por la ayuda
  #2 (permalink)  
Antiguo 04/06/2007, 02:08
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Problemas Con Join

Buenas,
a ver si periodo1 y periodo es siempre el mismo valor 0507
pues te hace un producto cartesiano 7x5 = 35 filas
¿por qué necesitas que te devuelva 8 registros?

Un saludo
  #3 (permalink)  
Antiguo 04/06/2007, 17:52
Avatar de vpino  
Fecha de Ingreso: diciembre-2004
Ubicación: colombia
Mensajes: 265
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Problemas Con Join

Gracias por tu respuesta.

Yo necesit que me muestre los regristros que esta en una tabla y los que estan en la otra (no repetidos) es decir que me muestre los tipos: 1,4,5,6,8,9,10 de la talba1 mas el registro 7 de la tabla2. que en totoal serian 8 registros.

Bueno estuve probando con el siguiente query tengo mas o menos lo deseado
SELECT * FROM TABLA1 FULL JOIN TABLA2 ON (marca=marca1)

lo cual me muestra los registros de una tabla y otra, el problema ahora es que al leer los registros, cuando una columna no tiene datos; me esta asumiendo el datos del registro anterior (diferente de blancos).

Bueno, seguire buscando el error y nuevmente mil gracias por la ayuda, no se que seria de mi sin el foro.
  #4 (permalink)  
Antiguo 05/06/2007, 07:53
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Problemas Con Join

buenas, en primer lugar no entiendo esa estructura en las tablas ni la consulta que quieres hacer....
Las tablas no tienen clave primaria?
y logicamente si haces un full join te saca el campo marca y marca1, .....

creo que lo que quieres, aunque repito que no le veo el sentido, es:

select * from tabla
union
select * from tabla1 where marca1 not in (select marca from tabla)

No te lo tomes a mal, pero te aconsejo que le pegues un repaso a sql

PD: cuando un campo viene sin datos no se compara con diferente de blanco se pregunta si es null

Un saludo
  #5 (permalink)  
Antiguo 16/06/2007, 09:48
Avatar de vpino  
Fecha de Ingreso: diciembre-2004
Ubicación: colombia
Mensajes: 265
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Problemas Con Join

Hola Seyko.
Tienes toda la razon y no se porque no me funciono antes; lo que deseaba está en la instruccion.

select * from tabla
union
select * from tabla1

De igual forma la sugerencia de repasar sql esta bien, yo agradezco tu recomendacion y de nuevo mil gracias a ti y al foro.
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 16:22.