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

Consulta avarias tablas

Estas en el tema de Consulta avarias tablas en el foro de Mysql en Foros del Web. Hola Hola foreros Bueno esto si me quedo grande, tampoco es que sea muy experto en MySql, les pido ayuda Mis TABLAS usuario -idUsuario usuarioxgrupo ...
  #1 (permalink)  
Antiguo 15/12/2011, 22:34
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 18 años, 9 meses
Puntos: 3
Consulta avarias tablas

Hola Hola foreros

Bueno esto si me quedo grande, tampoco es que sea muy experto en MySql, les pido ayuda

Mis TABLAS

usuario
-idUsuario

usuarioxgrupo
-idUsuario
-idGrupo

campania
-idCampania
-idGrupo

envios
-idUsuario
-idCampania


El rollo es simple, quiero enviarle un mensaje a los usuarios que tengan campaña asignada, pero los usuarios solo se aginar por grupo.

Entonses.

SELECCIONAR usuarios del GRUPO que este en la CAMPAÑA y que NO ESTEN en la taba de enviados.

dios!
gracias por la ayudita.
__________________
No hay nada que foros del web no sepa!!!!

Peca tanto quien presume de su belleza como de su inteligencia, ya que la brevedad de la vida aunque distorcionada siempre estara presente.
  #2 (permalink)  
Antiguo 16/12/2011, 08:56
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Consulta avarias tablas

Hola Nes24.

¿Qué es lo que intentaste hacer? es decir, supongo que haz trabajado en algunas consultas pero estas marcan error o no te regresan los resultados esperados. Es conveniente que siempre pongas en tus post lo que haz intentado hacer, para ayudarte a afinar las consultas.

También es conveniente que siempre incluyas algunos datos de ejemplo, ya que con la simples estructuras de tus tablas puede resultar complicado tratar de ayudarte.

la idea sería más o menos así:

Código MySQL:
Ver original
  1. select U.* from usuarios U
  2. inner join usuariosXgrupo UG on UG.idUsuario = U.idUsuario
  3. inner join campania C on C.idGrupo = UG.idGrupo
  4. C.idCampania = 'id de la campaña a buscar' and
  5. not exists (select * from envios E where e.idUsuario = U.idUsuario and
  6. e.idCampania = 'id de la campaña a buscar)

la parte de los join's serían simplemente para unir las tablas relacionadas, en el where se hace la exclusión de los usuarios a los que ya se le envió. Dale un vistazo para ver si te sirve, si continuas con problemas incluye algunos datos de ejemplo para poder hacer pruebas.

Saludos
Leo.
  #3 (permalink)  
Antiguo 16/12/2011, 15:38
Avatar de nes24  
Fecha de Ingreso: julio-2005
Mensajes: 746
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: Consulta avarias tablas

hola gracias por tu ayuda, porpiamente lo que buscaba era esto.


Código:
			SELECT * FROM 
			`usuariosxgrupo` as Gxu
			LEFT JOIN `historialmail` as Mail ON Mail.idUsuario = Gxu.idUsuario
			INNER JOIN `users` as Usr ON Usr.idUsuario = Gxu.idUsuario
			INNER JOIN `enviosprogram` as Cenv ON Cenv.idEnte = Gxu.idGrupo
			WHERE ( Mail.idHistorial IS NULL or Cenv.idCampania != Mail.idCampania )
			and Usr.restric = 'on' and Cenv.estado = 'on' LIMIT 0,1
La idea es que la consulta me digiera a cual usuario le puedo enviar un correo sin que ya se le haya enviado antes, teniendo encuenta que solo se le envia a 1 por campaña y que los envios se programan por grupo no por idUser
__________________
No hay nada que foros del web no sepa!!!!

Peca tanto quien presume de su belleza como de su inteligencia, ya que la brevedad de la vida aunque distorcionada siempre estara presente.

Etiquetas: sql, tabla, tablas
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 06:04.