[pgsql-ayuda] join

Ing. Roberto Andrade Fonseca randrade@abl.com.mx
Tue, 14 Nov 2000 14:16:32 -0600 (CST)


Hola:
On Tue, 14 Nov 2000, OCR wrote:

> tengo las tablas
> t1				t2
> c1	|  c2	|  c3		c1	|  c2
> oscar	|cano	| 1		  1	| doctor
> juan	|algo	| 3		  2	| maestro
> paco	|xx	|		  3	| licenciado
> 
> si hago:
> select t1.c1,t1.c2,t2.c2 from t1,t2 where t1.c3=t2.c1
> me despliega:
> 
> oscar	|cano	| doctor
> juan	|algo	| licenciado
> 
> pero quiero que me despliege:
> 
> oscar	|cano	| doctor
> juan	|algo	| licenciado
> paco	|xx	|
> 
> como hago esto?

No es posible obtener lo que quieres, pues no se da el caso de que it1.c3 sea igual a t2.c1, cuando t1.c3 vale NULL o ' '.

La solución sería:

1. Define en tu tabla t1:

	c3 	int	NOT NULL DEFAULT 999,

2. Y en t2 incluye el registro:
	99|' '

U obliga, por medio del motor de la BD, a que no se guarden registros con ti.c3 no válidos, es decir, define:
	
	id_tratamiento int NOT NULL REFERENCES tratamiento,

en donde id_tratamiento es t2.c1 y tratamiento es t2.

Saludos,

Roberto Andrade Fonseca
randrade@abl.com.mx

--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : unsubscribe pgsql-ayuda