PDA

Ver la Versión Completa : utlizacion del simbolo ~


sirjonan
27/05/14, 15:04:11
Hola a todos, tengo dudas sobre cuando se utiliza el simbolo ~.
Lo veo siempre en ejemplos que poneis al hacer inner join tanto en el select como en la parte del on tabla1~campo1 = tabla2~campo1, pero solo ocurre en inner join o en mas casos???

Gracias.

Ripper87
27/05/14, 18:02:15
Se pueden usar siempre que quieras, pero la verdad solo son necesarios cuando haces consultas con multiples tablas que tengan campos en común, ya sea con INNER JOIN, LEFT JOIN, RIGHT JOIN, subconsultas con EXISTS, IN, consultas anidadas con SELECT - ENDSELECT etc...

Por ejemplo si estas haciendo un INNER JOIN entre la bkpf y bsis, estas dos tablas tienen varios campos en común (bukrs, gjahr, belnr, etc...) entonces se usa el "~" para diferenciar a que tabla te estas refiriendo.

Igual cuando se asocia un "alias" a una tabla. Por ejemplo:

SELECT * INTO lt_tabla
FROM bkpf AS a INNER JOIN bsis AS b
ON a~bukrs EQ b~bukrs
WHERE a~ebeln EQ '123456'.

(la consulta no tiene sentido práctico, pero a manera de ejemplo...)

Si no colocaras el "a~" en la condición del WHERE, el compilador no sabría si te refieres al campo ebeln de la bkpf o de la bsis.

sirjonan
27/05/14, 18:16:46
Se pueden usar siempre que quieras, pero la verdad solo son necesarios cuando haces consultas con multiples tablas que tengan campos en común, ya sea con INNER JOIN, LEFT JOIN, RIGHT JOIN, subconsultas con EXISTS, IN, consultas anidadas con SELECT - ENDSELECT etc...

Por ejemplo si estas haciendo un INNER JOIN entre la bkpf y bsis, estas dos tablas tienen varios campos en común (bukrs, gjahr, belnr, etc...) entonces se usa el "~" para diferenciar a que tabla te estas refiriendo.

Igual cuando se asocia un "alias" a una tabla. Por ejemplo:

SELECT * INTO lt_tabla
FROM bkpf AS a INNER JOIN bsis AS b
ON a~bukrs EQ b~bukrs
WHERE a~ebeln EQ '123456'.

(la consulta no tiene sentido práctico, pero a manera de ejemplo...)

Si no colocaras el "a~" en la condición del WHERE, el compilador no sabría si te refieres al campo ebeln de la bkpf o de la bsis.


okey, muchas gracias.