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

Filtrado sobre 3 tablas, la ultima opcional.

Estas en el tema de Filtrado sobre 3 tablas, la ultima opcional. en el foro de Mysql en Foros del Web. hola estoy renegando un poco, necesito hacer una consulta sobre tres tablas, de las primeras me interesa que salga todo el listado, y se agregue ...
  #1 (permalink)  
Antiguo 27/10/2010, 16:40
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 14 años, 5 meses
Puntos: 0
Filtrado sobre 3 tablas, la ultima opcional.

hola estoy renegando un poco, necesito hacer una consulta sobre tres tablas, de las primeras me interesa que salga todo el listado, y se agregue a ese listado la consulta de la tabla boletas, o sea si tinene deuda que muestre y si no no salga el valor de deuda, pero si los datos de las 2 primeras tablas.
no logro darle en la tecla.

Consulta1:
Código MySQL:
Ver original
  1. Select clientes.apellido,
  2.   clientes.nombre,
  3.   clientes.CUT,
  4.   clientes.id,
  5.   clientes.domicilio,
  6.   cementerio.apellido,
  7.   cementerio.nombre,
  8.   cementerio.cut,
  9.   cementerio.idcontribuyente,
  10.   cementerio.fechadeceso,
  11.   cementerio.causadeceso,
  12.   cementerio.tipofosa,
  13.   cementerio.seccion,
  14.   cementerio.fila,
  15.   cementerio.n,
  16.   cementerio.cuadro,
  17.   cementerio.estado,
  18.   Sum(boletas.importeboleta)
  19. From clientes Inner Join
  20.   cementerio On clientes.id = cementerio.idcontribuyente Inner Join
  21.   boletas On cementerio.id = boletas.idbien
  22. Group By boletas.estado,
  23.   boletas.area
  24. Having boletas.estado = 'Pendiente' And boletas.area = 'Cementerio'

tambien probe asi:

Código MySQL:
Ver original
  1. SELECT clientes.apellido, clientes.nombre, clientes.CUT, clientes.id, clientes.domicilio, cementerio.apellido, cementerio.nombre, cementerio.cut, cementerio.idcontribuyente, cementerio.fechadeceso, cementerio.causadeceso, cementerio.tipofosa, cementerio.seccion, cementerio.fila, cementerio.n, cementerio.cuadro, cementerio.estado, Sum( boletas.importeboleta )
  2. FROM clientes, cementerio, boletas
  3. WHERE clientes.id = cementerio.idcontribuyente
  4. AND cementerio.id = boletas.idbien
  5. AND boletas.estado = 'Pendiente'
  6. AND boletas.area = 'Cementerio'

y amdas me muestran datos si hay un registro en la tabla boletas que sea igual al id de cementerio si no no.

una ayudita que ya me perdi.
  #2 (permalink)  
Antiguo 28/10/2010, 01:49
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Filtrado sobre 3 tablas, la ultima opcional.

Si estas trabajando con tablas del motor InnoDB solo tines que cambiar INNER por LEFT.

13.2.7.1. Sintaxis de JOIN

Quim

Última edición por quimfv; 28/10/2010 a las 01:54

Etiquetas: tablas, ultimo, filtros
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 20:58.