Esto no se puede hacer en una sola consulta. Su mejor apuesta es poner esta lógica en un procedimiento almacenado.