El control sobre usuarios incluye las siguientes opciones:
-Activación/desactivación del usuario.
-Acceso al historial de actividad del usuario.
En esta última opción, tengo que extraer los datos de 4 tablas, estas tablas son:
*users(id_user|id_twitter|name|screen_name|image|p oints)
*answers (id_answer|answer|id_questions->question.id_question|id_users->users.id_user|id_friend->users.id_twitter|datetime|statement).
*questions (id_question|question|id_typequestions->typequestions.id_typequestion).
*typequestions(id_typequestion|typequestion).
De manera que en la tabla answers id_users es el id_user del usuario que realiza una pregunta sobre un amigo y el id_friend es el usuario sobre el que se realiza la pregunta.
Con la siguiente consulta obtengo casi todos los datos que necesito, excepto el nombre del usuario sobre el que se realiza la pregunta, solo obtengo el nombre del que realiza la pregunta:
Código SQL:
Ver original
/*en el where, 14 sería un entero pasado por PHP*/ SELECT * FROM answers A INNER JOIN questions Q ON A.id_questions=Q.id_question JOIN typequestions TQ ON Q.id_typequestions=TQ.id_typequestion INNER JOIN users U ON A.id_users=U.id_user WHERE A.id_users=14 OR A.id_friend=ANY(SELECT id_twitter FROM users WHERE id_user=14);
He pensado en cómo podría hacer esto con subconsultas, pero no veo que eso sea posible.
¿Alguien me da ideas de cómo podría hacerlo? no es necesario aportar código, solo ideas :D