SQL - ERROR EN JOINS

 
Vista:
sin imagen de perfil
Val: 17
Ha disminuido 1 puesto en SQL (en relación al último mes)
Gráfica de SQL

ERROR EN JOINS

Publicado por Roberto (4 intervenciones) el 23/01/2020 12:23:42
Hola ¿como estais? gracias por anticipado, mi cuestion es
la siguiente: intento extraer desde SQL Developer con BD Oracle 11
la siguiente consulta...
Tengo una tabla con 885000 registros de nombre ACO y otra con 45000 de nombre CT.
ACO tiene una relacion con CT a traves del campo ACO.cod y CT.cod pero algunos (muy pocos) registros
de ACO tiene el campo COD a Null o con el valor '0'.


Necesito extraer TODOS los registros de ACO y de CT su matricula pero con esta consulta
solo me devuelve los coincidentes y no todos...incluso los que tienen valor nulo o cero '0'
¿que estoy haciendo mal? He probado con diferentes JOINS (left, right...) y no me sale :(


1
2
3
4
5
SELECT ACO.COD,
CT1.COD,
CT1.MAT
FROM (ACO
LEFT JOIN CT CT1 on ACO.COD=CT1.COD


Mil gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 135
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

ERROR EN JOINS

Publicado por xve (284 intervenciones) el 23/01/2020 14:38:05
Hola Roberto, no se que error te da, pero a simple vista, veo que hay un paréntesis en la linea 4 que no debería de estar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha disminuido 1 puesto en SQL (en relación al último mes)
Gráfica de SQL

ERROR EN JOINS

Publicado por Roberto (4 intervenciones) el 23/01/2020 14:50:51
Hola ! realmente no da error como tal, si no que devuelve unicamente los registros de ACO cuyo COD es igual al COD de CT pero no aquellos que no coinciden. Tal vez he metido el parentesis sin querer, pero no influye.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 135
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

ERROR EN JOINS

Publicado por xve (284 intervenciones) el 23/01/2020 14:59:24
Ah, ok...

Si claro, tu vinculas las dos tablas por los campos COD de las dos tablas... solo te devuelve los que los dos campos tienen el mismo COD.. si no, no tiene manera de vincular las dos tablas.

No se si en Oracle esta consulta te funcionara... Puedes probar ha hacerlo así:
1
2
3
4
SELECT ACO.COD,
CT1.COD,
CT1.MAT
FROM ACO, CT CT1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha disminuido 1 puesto en SQL (en relación al último mes)
Gráfica de SQL

ERROR EN JOINS

Publicado por Roberto (4 intervenciones) el 23/01/2020 15:12:58
Aha, asi es...pero me falla en el Join...unicamente me devuelve aquellos coincidentes y necesitos de ACO, TODOS:

ACO.COD CT.COD CT-MAT
----------- ----------- -----------
4020 4020 25A123
4021 4021 28C134
4022 4019 33SS12
0000 4022 45CB45

La salida deberia ser todos los registros de ACO que coincidan con CT-COD y tb el registro "0000" que unicamente se vera el codigo de ACO sin una mat de ct.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 135
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

ERROR EN JOINS

Publicado por xve (284 intervenciones) el 23/01/2020 16:37:14
En princio con el LEFT JOIN te trae todos los registros de la tabla que indiques a la izquierda... es decir si haces:

A LEFT JOIN B ON A.X=B.X

Traera todos los registros de A, y los registros de la tabla B los que coincidan las X de las dos tablas... si en algún momento no coincide alguna X, en los campos de la tabla B devuelve NULL.


Todo esto que comento funciona en MariaDB y MySQL, no se si en Oracle funciona igual...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha disminuido 1 puesto en SQL (en relación al último mes)
Gráfica de SQL

ERROR EN JOINS

Publicado por Roberto (4 intervenciones) el 23/01/2020 16:48:19
Muchas gracias xve...lo pruebo mañana y te digo algo :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar