Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Dando vueltas con el inner join

Estas en el tema de Dando vueltas con el inner join en el foro de Bases de Datos General en Foros del Web. Hola amigos, vereis tengo un gran problema que no puedo resolver por el momento (sin hacer trampillas, claro). La cuestión es la siguiente, tengo dos ...
  #1 (permalink)  
Antiguo 18/08/2004, 00:27
perrogrun
Invitado
 
Mensajes: n/a
Puntos:
Dando vueltas con el inner join

Hola amigos, vereis tengo un gran problema que no puedo resolver por el momento (sin hacer trampillas, claro).

La cuestión es la siguiente, tengo dos tablas:

La primera tabla (presupuestos) tiene los siguientes campos:

codigocliente y descripcion


Y la segunda tabla (clientes) tiene los siguientes campos:

codigo, nombre, empresa

Lo que quiero conseguir que el recordset que recoge los datos de las dos tablas me muestre en una tabla (un Tadoquery de delphi en este caso) todos los registros de la tabla presupuestos mostrando la descripción del presupuesto, el nombre del cliente y el nombre de la empresa. Si el presupuesto no tiene cliente asignado, que muestre la descripcion y en nombre no muestre nada y en empresa no muestre nada.

Lo que he usado hasta ahora ha sido:

select
presupuestos.codigocliente,
nombre.cliente,
empresa.cliente
from
presupuestos
inner join
clientes
on
presupuestos.codigocliente=clientes.codigo


pero con esto sólo me muestra los registros de presupuestos que tienen relación en clientes y yo lo que quiero además de esto es que me muestre el resto de registros aunque no tengan relación en clientes.

Bueno, espero que podais ayudarme. Gracias de antemano.
  #2 (permalink)  
Antiguo 18/08/2004, 00:29
 
Fecha de Ingreso: junio-2004
Ubicación: Castellón, España
Mensajes: 98
Antigüedad: 20 años, 5 meses
Puntos: 0
select
presupuestos.codigocliente,
nombre.cliente,
empresa.cliente
from
presupuestos
left join
clientes
on
presupuestos.codigocliente=clientes.codigo
  #3 (permalink)  
Antiguo 18/08/2004, 03:10
perrogrun
Invitado
 
Mensajes: n/a
Puntos:
CORRECTO!!!
El problema estaba en que yo ponía INNER JOIN y era LEFT JOIN

Atzeneta, eres un maquina.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:09.