Uniones
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.
SELECT nombre1,planilla
FROM persona
INNER JOIN planilla ON persona.planilla=planilla.planilla
Qué estaré haciendo mal?
Gracias por su ayuda.
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.
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.
