SQL - Mostrar inexistente - LEFT JOIN

 
Vista:
Imágen de perfil de Cristian
Val: 7
Ha aumentado su posición en 68 puestos en SQL (en relación al último mes)
Gráfica de SQL

Mostrar inexistente - LEFT JOIN

Publicado por Cristian (33 intervenciones) el 08/12/2013 00:25:01
Hola a todos...
Vengo preguntando en diferentes foros y la verdad no logro hacer funcionar lo que necesito que es mostrar los pagos inexistentes... los meses inexistentes.

Tengo una tabla pagos con los siguientes campos:

id-ncuota-mes-año-monto

y otras con los pagos

id-apenom-ncuota-mes-monto-año

ahora bien, en la tabla pagos figuran los pagos, entonces por ejemplo si Juan pago marzo, abril, y junio quiero que muestre : juan -mayo.... me explico ?? el mes que no figura en la tabla pagos, o sea el que debe para poder generar un reporte de deudas.

Estoy tratando con el LEFT JOIN pero no logro que funcione.... alguna ayuda ???

gracias !!!!
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
Imágen de perfil de xve
Val: 135
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Mostrar inexistente - LEFT JOIN

Publicado por xve (284 intervenciones) el 08/12/2013 18:31:25
Hola Cristian, como están vinculadas las dos tablas? como se a que usuario pertenece por el ncuota?

Nos puedes mostrar tu consulta?
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 Cristian
Val: 7
Ha aumentado su posición en 68 puestos en SQL (en relación al último mes)
Gráfica de SQL

Mostrar inexistente - LEFT JOIN

Publicado por Cristian (33 intervenciones) el 09/12/2013 01:26:17
Hola xve... una vez mas gracias por responder.
Mira te cuento un poco mas en detalle:

ncuota es el numero de cuota va del 1 al 12 según el mes siendo 1 el mes de marzo hasta diciembre y los numero 11 y 12 las respectivas matriculas para el siguiente año. Esta es la tabla cuota que tiene solo 12 registros con los siguientes campos:

id-ncuota-mes-primonto-prifecha-segmonto-segfecha-año

bien una tabla de pagos donde se almacenan los pagos realizados con los siguientes campos:

id-dni-ncuota-monto-fechapago

ahora bien, en la tabla pagos se almacen justamente eso los pagos: por ejemplo si Juan pago marzo,abril y julio esos 3 registros estan en la tabla pagos, entonces necesito un reporte que diga: juan mayo - junio (o sea esos registros no estan porque no se pagaron, necesito eso mostrar los meses que se deben)

No se si fui claro. Estaba intentando algo asi pero no va.

SELECT pagos.apenom, cuotas.mes, FROM pagos as t1, cuotas as t2 LEFT JOIN t2 ON t1.ncuota=t2.ncuota Where t2.ncuota is null

Un saludo y gracias
Espero tu respuesta
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 xve
Val: 135
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Mostrar inexistente - LEFT JOIN

Publicado por xve (284 intervenciones) el 09/12/2013 07:45:13
Hola Cristian, creo que tu consulta la haces al reves...

Creo que tienes que vincular los 12 registros con los pagos y mostrar los nulos.
1
2
3
SELECT pagos.apenom, cuotas.mes
FROM cuotas as t1 LEFT JOIN pagos as t2 ON t1.ncuota=t2.ncuota
Where t2.ncuota is null

Puedes probar y comentarnos?
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 Cristian
Val: 7
Ha aumentado su posición en 68 puestos en SQL (en relación al último mes)
Gráfica de SQL

Mostrar inexistente - LEFT JOIN

Publicado por Cristian (33 intervenciones) el 09/12/2013 15:13:33
Hola xve....
Esta bien lo que me decis y la sentencia la veo perfecta pero vb me muestra un error de pocos parametros y no veo error alguno...

Que podra ser ???
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 xve
Val: 135
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Mostrar inexistente - LEFT JOIN

Publicado por xve (284 intervenciones) el 09/12/2013 15:41:48
Perdona cristian, al copiar he cometido un error...

1
2
3
SELECT t1.apenom, t2.mes
FROM cuotas as t1 LEFT JOIN pagos as t2 ON t1.ncuota=t2.ncuota
Where t2.ncuota is null

Lo puedes probar?
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 Cristian
Val: 7
Ha aumentado su posición en 68 puestos en SQL (en relación al último mes)
Gráfica de SQL

Mostrar inexistente - LEFT JOIN

Publicado por Cristian (33 intervenciones) el 09/12/2013 16:11:26
Me sigue tirando error.... no el mismo , pero me sigue diciendo "pocos parametros"..

Que sera ahora ?
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