Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/01/2011, 15:31
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Ordenar por 2 campos juntos

Para el caso que comentas de que duplica Janis Joplin, lo único que tienes que hacer es agregar una condición a la segunda consulta

Código:
SELECT id, CONCAT(apellido, ', ', nombre) as artista 
FROM Artistas 
WHERE apellido LIKE ('J%') 
AND Nombre not like 'J%' 
Es decir, si el nombre y el apellido comienzan con la misma letra se va a ir por el primer Select (el de nombre), El segundo se ejecutaría como una especie de IF-ELSE.

En el caso de la tercer consulta, para el caso de José Luis Perales, por ejemplo si buscas por la letra J te regresaría José Luis Perales, si buscas por la letra L te regresa Luis Perales, José y si buscas por Perales te regresa Perales, José Luis. Lo mismo ocurre con The Liberties, Si buscas por la letra L te regresa Liberties, The, pero si buscas por la letra T te regresa The Liberties.

En cuanto a lo que sea mejor, pues eso lo decides tú en base al rendimiento. En lo particular no me grada mucho la idea de utilizar arreglos y después ordenarlos, pues haces doble trabajo. Pero te repito esa es decisión tuya.

Saludos
Leo.