#1
|
|||
|
|||
Inner Join
Hola a todos,
A ver si alguna alma caritativa me puede ayudar con la sentencia INNER JOIN. Lo que yo quiero es saber si hay alguna sentencia relacionada con la sentencia INNER JOIN que en lugar de buscarme los registros que coinciden en 2 tables, me retorne los registros que NO coinciden. Mi ejemplo : Tengo las 2 tables N1TPMEORDER i N1TPTPGRA, y las 2 tienen el campo tpid. Yo quiero rellenar una tabla interna con los registros tpid de la tabla N1TPMEORDER que NO esten en la tabla N1TPTPGRA. Alguna idea?¿ Muchas gracias, Saludos!! |
#2
|
|||
|
|||
No hay una sentencia que te diga eso, tendras que hacer un algoritmo que lo calcule y esto se puede hacer de varias maneras
Por ejemplo, el inner join te devuelve las entradas que coinciden en las dos tablas pero hay una "variacion" que se llama left outer join que te devuelve en blanco los registros que no coincidan, se ve mejor con un ejemplo Supongamos que tenemos Tabla A Campo clave Campo1 1 A 2 B 3 C 4 D Tabla B Campo clave Campo2 2 F 4 G Si hicieramos un inner join de la tabla A y la B nos devolveria lo siguiente Campo clave Campo1 Campo2 2 B F 4 D G Nos devuelve los registros que estan en las dos tablas Sin embargo si hicieramos un left outer join devolveria lo siguiente Campo clave Campo1 Campo2 1 A 2 B F 3 C 4 D G Nos devuelve los registros que coinciden y los que no coinciden nos devuelve los campos en blanco Si luego hicieramos Delete tabla_left_outer_join where not campo2 is initial. Nos quedaria Campo clave Campo1 Campo2 1 A 3 C Tendriamos las claves que estan en la tabla A y NO estan en la tabla B |
#3
|
|||
|
|||
Muchísimas gracias por la respuesta detallada rápida y clara....
Lo haré así exactamente, Saludos! |
Herramientas | Buscar en Tema |
Desplegado | |
|
|