Si lo he puesto pero en cada select pueden retornarse mas de un registro ya que el campo id_columna no es unico, entonces deberia como buscar el max de cada select para luego que eso se ordene descendientemente y tomar solo el primero como inteligentemente me lo mostraste en la sentencia, podria ser algo como asi:
Cita: (SELECT max(num_order) from tbl_text where id_columna = 3)
union all
(SELECT max(num_order) from tbl_textbox where id_columna = 3)
union all
(SELECT max(num_order) from tbl_file where id_columna = 3)
union all
(SELECT max(num_order) from tbl_menu where id_columna = 3)
union all
(SELECT max(num_order) from tbl_radio where id_columna = 3)
union all
(SELECT max(num_order) from tbl_checkbox where id_columna = 3) ORDER BY max(num_order) desc limit 1
Pero al probarlo me genera un error, que dice que no se conoce la columna num_order en la clausula order.
Gracias