Dudas para realizar una consulta sql a tablas de una base de datos

Mira tengo dos tablas una que es la de clientes y otra que es la de seguros de clientes y yo quiero que me salgan todos los cliente y aquellos que tienen seguros me salga su numero de póliza. Pero no se como hacer para que me salgan todos.El campo común es codcli. ¿Cómo puedo relacionar ambas tablas, para que me salgan todos los clientes, incluso los que no tienen seguro?
Muchas gracias

4 Respuestas

Respuesta
1
Prueba con algo parecido a:
SELECT Clientes.*, Seguros.NumeroPoliza FROM Clientes c LEFT JOIN Seguros s ON c.codcli=s.codcli
Respuesta
1
Utiliza Left Join o Right Join en vez de Inner Join. Si quieres que salgan el contenido completo de las dos tablas, debes utilizar Outer Join.
Mira yo quiero que me salgan unos datos concretos de cada tabla pero en realidad quiero todas las filas de la tabla cliente. Y de la tabla de seguros se pongan a continuación en la misma fila del cliente correspondiente.
Ejemplo:
select * from clientes left join seguros on clientes.idcliente = seguros.idcliente
En los campos de seguros correspondiente a un cliente que no tiene, le aparecerá null
Creo que no me he explicado bien. El campo de enlace es codcli pero el campo que yo quiero que me muestre es otro!
Es evidente que los campos no sean los mismos ya que yo no los conozco. Lo que te he puesto es un ejemplo, ahora te toca a ti sustituir el * por los campos que quieres ver y idcliente por las claves correspondientes.
Respuesta
1
Tabla1
Cliente
Nombre
Tabla2
poliza_no
cliente
select a.cliente, b.poliza from tabla1 left join tabla2
on a.cliente = b.cliente
El left se utiliza para forzar a sql que muestre todos los registros que se encuentran en el lado izquierdo de la relación y solo aquellos que hagan match en el lado derecho, o sea todos los clientes tengan o no una póliza registrada.
Jorge
Desde guatemala
Respuesta
1
Es fácil, solo debes hacer un outer join, algo así:
select * from clientes, seguros where
clientes.id *= seguros.id.
Con es asterisco le estas diciendo, todos los clientes sin importar si tienen o no seguro. Los que no tengan seguro, tienen esos campos null

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas