MySQL - consulta multitabla

   
Vista:

consulta multitabla

Publicado por Yeray (1 intervención) el 09/01/2014 16:34:01
hola buenas.

Estoy intentando hacer una consulta para obtener datos de varias tabla y no se como hacerla.

las tablas son mas o menos las siguientes:

tabla empresas (con los datos de una empresa) llamada usuario

_idempresa
nombreempresa
correoempresa
telefonoempresa

tabla ofertas (con los datos de una oferta ) llamada ofertas

_idoferta
idempresa
titulooferta
descripcionoferta
fechacreacion
fechainciooferta
fechafinoferta

tabla mis empresas de interes (tabla que relaciona una persona con una empresa indica que a una persona sigue a una empresa o le gusta ...) llamada personaconectadausuario

_id
_idusuario
_idpersona

Cada empresa puede tener varias ofertas y una oferta solo una empresa. y a un usuario le puede interesar varias empresas.

me gustaría hacer una consulta que obtuviera en cada fila los datos de las empresas que me interesan con al menos una oferta mas los datos de la ultima oferta de la empresa (solo la ultima con fecha de creación mas actual ) y el número de ofertas totales. Y la lista ordenada con fecha de creación.

hasta ahora tengo esto empresas = usuario

SELECT u.*, o.*, COUNT(o._idoferta) as nofertas FROM usuarios u,Ofertas o WHERE u._id IN (SELECT DISTINCT idusuario FROM Ofertas WHERE idusuario IN (SELECT idusuario FROM personaconectadausuario WHERE idpersona = ? AND conectado = true)) AND u._id = o.idusuario AND o.visible = TRUE AND o.estado = 'activada'$enfecha GROUP BY u._id ORDER BY o.fechacreacion ASC

Esta consulta hace casi lo que quiero pero no ordena por fecha de creacion. poner "ORDER BY o.fechacreacion ASC" y no ponerlo hace lo mismo. Supongo que será por "GROUP BY u._id" pero si lo quito m da una fila por cada oferta .

Alguna idea?

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