AYUDA CON UN LEFT JOIN????
Publicado por Gabylu (16 intervenciones) el 21/09/2002 01:18:36
TENGO LA TABLA "A "Y LA TABLA "B" UNIRLAS POR UNA LLAVE EN COMUN Y GENERAR UNA TERCER TABLA LLAMADA C.
SI LOS DATOS EXISTEN EN "A " y "B" PONER EN UNA VARIABLE DE "C" EL NUMERO 1. SI EL DATO EXISTE SOLO EN "A " Y/O SOLO EN "B " PONER EL NUMERO 0.
YO LO SE HACER EN OTRO SISTEMA Y ESTO SERIA ASI.
Proc sort data=bd.A
BY llave
proc sort data=bd.B
by llave
Run;
DATA bd. C
MERGE bd. "A" (in=x) bd."B"(in=y)
BY llave en comun
if x=1 and y=1 then BANDERA=1
else if x=1 and y=0 then BANDERA=0
else x=0 and y=1 then BANDERA=0
run;
DONDE
bd= BASE DE DATOS DONDE ESTA LA TABLA
merge =Es la instruccion que une ambas tablas tanto A como B
sort=Antes de unir las tablas sorteamos A y B por la llave en comun
y generamos una nueva variable llamada bandera la cual esta en 1 o 0 de acuerdo a las condiciones.
Como haria esto CON SQL.
1.- Necesito usar Un Crete table o el LEFT JOIN Genera la nueva tabla.
2.- Como hago este SP.
3.- Existe alguna otra froma de hacerlo o como identificaria yo los datos nuevos de una tabla.
Valora esta pregunta


0