Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/08/2012, 09:42
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: Una explicacion de este select

Hola ManelGomez:

Qué es lo que quieres saber??? o cual es la duda??? comentar acerca de si está bien o está mal es un poco difícil, por lo pronto te hago algunas observaciones:

Código:
SELECT p.id AS did, p.*, g.nombre AS generonombre,
Si estás poniendo p.* indicas que vas a traer TODOS LOS CAMPOS DE LA TABLA P, entonces no tienes necesidad de listar el campo p.id, tal como lo tienes se duplicaría este campo. La palabra reservada AS podrías quitarla sin ningún problema.

Código:
CASE WHEN CHAR_LENGTH(p.alias) THEN 
  CONCAT_WS(\':\', p.id, p.alias) 
ELSE p.id END
Este CASE-WHEN en realidad no sé para qué lo hace, la función CHAR_LENGH regresa una longitud, no un booleano (TRUE, FALSE) pero lo que hace es determinar si muestra solo el ID o la concatenación del ID y el alias.

El resto no tiene nada que explicarse, es simplemente un LEFT JOIN entre las tablas.

Saludos
Leo.