MySQL - sacar la diferencia de dos consultas

   
Vista:

sacar la diferencia de dos consultas

Publicado por ferley (4 intervenciones) el 25/01/2015 20:16:44
buenas tardes agradesco su ayuda

tengo tres tablas una llamada cliente otra llamada modulo y otra llamada clientemodulo

al hacer la siguiente consulta

select * from cliente inner join clientemodulo on cliente.id=clientemodulo.idcliente innerjoin modulo on
clientemodulo.idmodulo=modulo.id where cliente.id=1

esta consulta me arroja todos los modulos que tiene un cliente

lo que no se es como hacer la consulta para que me de todos los modulos que no tiene el cliente

gracias por su ayuda
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

sacar la diferencia de dos consultas

Publicado por xve (899 intervenciones) el 26/01/2015 08:32:02
Hola Ferley, no se muy bien como es la estructura de las tablas, pero poniendo simplemente que clientemodulo.idmodulo sea diferente de modulo.id te valdría? algo así:

1
2
select * from cliente inner join clientemodulo on cliente.id=clientemodulo.idcliente innerjoin modulo on
clientemodulo.idmodulo!=modulo.id where cliente.id=1

Coméntanos, ok?
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

sacar la diferencia de dos consultas

Publicado por ferley (4 intervenciones) el 30/01/2015 18:11:10
gracias por tu respuesta y me diusculpo por tardar en contestar no habia tenido internet.

la estructura de mis tablas son la siguiente

tabla:



al hacer la consulta que me dijiste me repite algunos datos y he estado intentado y no se me ocurre que hacer
necesito que me muestre todos los modulos que no tenga el cliente

agradesco tu ayuda
modelo
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

sacar la diferencia de dos consultas

Publicado por ferley (4 intervenciones) el 31/01/2015 06:09:36
bueno paso de nuevo por aqui para dejar la solucion a mi problema

select modulo.id as idmodulo, modulo,precio from modulo where modulo not in (select modulo from cliente inner join clientemodulo on cliente.id=clientemodulo.idcliente inner join modulo on clientemodulo.idmodulo=modulo.id where cliente.id='1')

la solucion consiste en hacer una consulta a la tabla modulo y con una subconsulta filtramos los modulos que tiene el cliente y con la funcion NOT IN indicamos que muestre todolos modulos que no tiene el cliente


gracias feliz noche
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
Imágen de perfil de xve

sacar la diferencia de dos consultas

Publicado por xve (899 intervenciones) el 31/01/2015 09:35:21
Gracias por compartirlo Ferley!!!
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