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 originalSELECT cliente.* ,transacciones.* FROM transacciones INNER JOIN clientes ON transacciones.codcliente=clientes.codcliente
Código SQL:
Ver originalSELECT clientes.* ,t.* FROM cuentxclient INNER JOIN transacciones t
ON t.codcliente=cuentxclient.codcliente AND t.codsucursal=cuentxcliente.codsucursal
AND t.codcuenta=cuentxclient.codcuenta INNER JOIN clientes cuentxcliente.codcliente=clientes.codcliente