Ese select en el WHERE que pones es muy muy ineficiente, usa la que te paso ya te he corregido el error, podias haberlo visto tu mismo.
Código MySQL:
Ver original s3.date_create
////aqui puedes usar las
datetime functions para operar con los campos de todas las tablas
FROM jpv59_obhelpdesk3_messages s1
FROM jpv59_obhelpdesk3_messages
En cuanto a lo que preguntas de las vistas,
es falso. Pero tienen una desventaja no se puede forzar el uso de indices, USE INDEX(), con lo que en algunos casos es mejor usar una query y poder pedir el uso de determinados indices.
Por otro lado, ese campo
diferencia es un campo calculado, por lo tanto es un error crearlo, imagina que hay un cambio en los campos que sirven para calcularlo y no se actualiza el campo
diferencia, la bbdd quedaria incoherente.
Crea una vista que de ese valor,
diferencia, de forma dinámica.
Código MySQL:
Ver original s3.date_create,
FROM jpv59_obhelpdesk3_messages s1
FROM jpv59_obhelpdesk3_messages
(No hagas corta y pega, analiza lo que se te pasa, es la manera de aprender. Ademas como puedes suponer el codigo esta hecho al vuelo, peude contener errores tontos de sintaxis, si lo analizas y lo entiendes podras corregirlos, por ejemplo tabla2 tampoco la va a encontrar, pero es que no se como se llaman todas tus tablas.....)