Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/01/2015, 17:48
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Ordenar una tabla utilizando una columna de otra tabla

En tu caso es un JOIN simple con uso de ORDER BY:
Código SQL:
Ver original
  1. SELECT PP.*
  2. FROM PerfilPuesto PP INNER JOIN PerfilActivo A ON PP.IdPuesto = A.IdPuesto
  3. ORDER BY A.Activo;
De todos modos tienes algunos cuantos errores en la definicion de las columnas, el primero de los cuales es simplemente que ese "(1)" que pusiste al campo "Activo" es simple basura. Puede tener en realidad efectos nocivos.
Esos numeros entre paréntesis para los campos numéricos no sirven para indicar la cantidad de dígitos. Se usan para otra cosa, y es recomendable no usarlos, dejando que MySQL les asigne el valor que tienen por default.

Otros campos como estos:
Código MySQL:
Ver original
  1. `ActividadesRealizar` VARCHAR(1000) NOT NULL,
  2.   `EquipoUtilizar` VARCHAR(100) NOT NULL,
  3.   `ConocimientosRequeridos` VARCHAR(1000) NOT NULL,
  4.   `JornadaLaboral` VARCHAR(100) NOT NULL,
  5.   `PersonalCargo` VARCHAR(100) NOT NULL,
parecen indicar que vas a usarlos para guardar listas de identificadores, o de valores, lo que significaría algo peor. Ese tipo de colecciones están prohibidas en las bases de datos relacionales. Representan uno de los peores errores que se pueden cometer en el diseño de estructura de datos.

Estos otros:
Código MySQL:
Ver original
  1. `Ingles` VARCHAR(15) NOT NULL,
  2.   `Informatica` VARCHAR(100) NOT NULL,
  3.   `OtrosConocimientos` VARCHAR(500) NOT NULL,
implican que esa tabla está desnormalizada a lo grande. Ese tipo de datos no va en la misma tabla, sino en tablas dependientes (relaciones 1:N), con agregado de tablas fijas paramétricas.

Esto es peor:
Código MySQL:
Ver original
  1. `SueldoBase` VARCHAR(500) NOT NULL,
  2.   `PromMesual` VARCHAR(100) NOT NULL,
  3.   `BonificacionDecreto` VARCHAR(100) NOT NULL,
  4.   `OtrasBonificaciones` VARCHAR(100) NOT NULL,
  5.   `AguinaldoBono14` VARCHAR(100) NOT NULL,
Esos datos no pueden ser VARCHAR. Tienen que ser DECIMAL o INT UNSIGNED, pero nunca VARCHAR.
Los valores monetarios o cualquier tipo de dato de magnitudes deben ser numéricos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 26/01/2015 a las 17:53