Estoy tratando de compilar esto en mi mente ... tengo una tabla con campos de nombre y apellido y tengo una cadena como "Bob Jones" o "Bob Michael Jones" y varias otras.
la cosa es que tengo, por ejemplo, Bob en el nombre y Michael Jones en el apellido
así que estoy tratando de
SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast 
  FROM users 
 WHERE firstlast = "Bob Michael Jones"
pero dice columna desconocida "firstlast" .. ¿alguien puede ayudar por favor?

Prueba esto:
fuente
fuente
Utilice CONCAT_WS ().
El primer argumento es el separador del resto de argumentos.
fuente
CONCAT_WS(' ', ..Tratar:
Su alias firstlast no está disponible en la cláusula where de la consulta a menos que realice la consulta como una sub-selección.
fuente
Existe una alternativa para repetir la
CONCATexpresión o utilizar subconsultas. Puede hacer uso de laHAVINGcláusula, que reconoce los alias de columna.Aquí hay un violín SQL en funcionamiento .
fuente