Uniones

Boris Valladares
15 de Julio del 2004
Que tal grupo buen día, como funciona un INNER JOIN en Oracle?, estoy haciendo lo siguiente pero me da el error ora-00933

SELECT nombre1,planilla
FROM persona
INNER JOIN planilla ON persona.planilla=planilla.planilla

Qué estaré haciendo mal?

Gracias por su ayuda.

Manny
15 de Julio del 2004
Hi, Boris

Sabes en que version de oracle te esta sucediendo
este tipo de error?

Por que creo que la version 8i no suporta este tipo
de "INNER JOIN", o hecho del test en 8.1.7.0, y me reporta el mismo error.

Ve el ejemplo:

SQL> select * from A inner join B using (key1, key2);
select * from A inner join B using (key1, key2)
*
ERROR at line 1:
ORA-00933: SQL command not properly ended

Seguidamente o usado un release 9.2.0.3 y FUNCIONA
si quieres prueba, con este tipo ejemplo.


SQL> create table A ( key1 int, key2 int, Adata varchar2(10) );

Creata tabella.

SQL> create table B ( key1 int, key2 int, Bdata varchar2(10) );

Creata tabella.

SQL> insert into A values (1, 1, 'data');

Creata 1 riga.

SQL> insert into B ( select * from A );

Creata 1 riga.

SQL> insert into A values (2, 2, 'new data');

Creata 1 riga.

SQL> select * from A inner join B using (key1, key2);

KEY1 KEY2 ADATA BDATA
---------- ---------- ---------- ----------
1 1 data data

SQL> select A.* from A inner join B on ( A.key1 = B.key1 and A.key2 = B.key2 );

KEY1 KEY2 ADATA
---------- ---------- ----------
1 1 data

Para saber la version de oracle donde estas haciendo de la prueba, hay un vista "V$version" , haz un select
y verifica......

Suerte.
bye.