SQL - Saber si tablas tienen datos relacionados

 
Vista:
sin imagen de perfil

Saber si tablas tienen datos relacionados

Publicado por Daniel Piña (5 intervenciones) el 07/02/2017 17:20:16
Amigos necesito de su ayuda, tengo dos tablas en una base de datos, la cual es de clientes y de factura.
Necesito saber todos los clientes que tengan una factura en la tabla 'factura', alguna funcion o algo en la clausula WHERE para poder saberlo?
cualquier info sera eternamente agradecido.
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
sin imagen de perfil
Val: 35
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Saber si tablas tienen datos relacionados

Publicado por Cesar (13 intervenciones) el 07/02/2017 17:24:17
Hola.

Usa un SELECT IN.

Ejemplo SELECT * FROM CLIENTES WHERE cliente IN (SELECT cliente FROM facturas)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Saber si tablas tienen datos relacionados

Publicado por Daniel (5 intervenciones) el 07/02/2017 17:45:30
Este es parte del modelado de la base de datos
16651620_780236098796239_1711714663_n
Intente ejecutar esta query añadiendo los inner join pero se repiten los datos 3 veces en las tablas:
"SELECT clientes.Raz_Social, clientes.RUT_C, clientes.DV FROM clientes INNER JOIN (factura INNER JOIN OTrabajo ON factura.Cod_Ot = OTrabajo.Cod_Ot) ON Clientes.RUT_C = OTrabajo.Rut_C WHERE factura.Num_fac IN (SELECT factura.Num_fac FROM factura)"
esta bien diseñada la consulta? no entiendo la funcion del (WHERE CLIENTE IN (SELECT cliente FROM factura))
se supone que busca la PK de cliente en el select?
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 Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Saber si tablas tienen datos relacionados

Publicado por Isaias (1921 intervenciones) el 07/02/2017 22:18:46
El uso de IN (CONSULTA), no esta recomendado por el tiempo de respuesta que pueda darte, checa este script:

1
2
3
4
SELECT clientes.Raz_Social, clientes.RUT_C, clientes.DV
FROM clientes
INNER JOIN OTrabajo ON clientes.Rut_C = OTrabajo.Rut_C
INNER JOIN factura ON factura.Cod_OT = OTrabajo.Cod_OT
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