Ver Mensaje Individual
  #6 (permalink)  
Antiguo 06/05/2015, 09:12
alegreanahi
 
Fecha de Ingreso: mayo-2015
Mensajes: 4
Antigüedad: 9 años, 9 meses
Puntos: 0
uso del inner join

Quería saber si se puede hacer un inner join entre tablas que no estan relacionadas en un DER pero si tienen el mismo campo en comun

Tablas

transaccion claves primarias(codtransaccion) claves foraneas(codcuenta,codcliente,codsucursal)

cuenta claves primarias( codcuenta,codsucursal)

cuentaxcliente claves primarias(codcuenta,codcliente,codsucursal)

clientes claves primarias(codcliente)

sucursal claves primarias(codsucursal)


Quiero hacer un inner join con la tabla clientes y transacción para saber los datos de el cliente que efectuo cada una de las transacciones.

No tendria que seguir la relacion entre las tablas, ya que transacciones(codcliente,codsucursal,codcuenta claves foraneas) depende de cuentasxcliente
(codcliente,codsucursal,codcuenta claves principales)
y no de la tabla cliente que es a la que depende cuentasxcliente. Pero la tabla transacciones tiene como clave foranea el codigo de cliente que heredo de la tabla cuentasxcliente junto con el codigo de sucursal y de cuenta.


Queria saber si puedo hacer inner join entre las tablas transacciones y clientes igual, si no importa esta relacion que existe, o deberia hacer inner join entre transacciones,cuentasxcliente, y cliente?

Cual de estos dos codigos estaria en lo correcto.

Código SQL:
Ver original
  1. SELECT cliente.* ,transacciones.* FROM transacciones INNER JOIN clientes ON transacciones.codcliente=clientes.codcliente


Código SQL:
Ver original
  1. SELECT clientes.* ,t.* FROM cuentxclient INNER JOIN transacciones t
  2. ON t.codcliente=cuentxclient.codcliente AND t.codsucursal=cuentxcliente.codsucursal
  3. AND t.codcuenta=cuentxclient.codcuenta INNER JOIN clientes cuentxcliente.codcliente=clientes.codcliente