Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

234
Vistas
Secuela: DatabaseError - Columna desconocida en 'cláusula de pedido'

TLDR:

La inclusión de la propiedad dirección de orden 'ASC' o 'DESC' provoca el error Unknown column 'application.ASC' in 'order clause'

 const applications = await Application.findAll({ order: ['createdAt', 'ASC'], distinct: true, attributes: [ 'id', 'applicantId', 'jobId', ] });

Original:

He estado recibiendo este error y no puedo entender por qué. Supuse que era un problema de nomenclatura con el campo 'createdAt', pero parece ser la propiedad 'ASC'/'DESC' a la que apunta el error que está causando el problema

Esto funciona:

 const applications = await Application.findAll({ order: ['createdAt'], distinct: true, attributes: [ 'id', 'applicantId', 'jobId', ] });

Consulta SQL que se está ejecutando:

 SELECT `id`, `applicantId`, `jobId` FROM `applications` AS `application` ORDER BY `application`.`createdAt`;

Pero esto no: (agregando 'ASC'/'DESC' a la propiedad order: order: ['createdAt', 'ASC'], )

 const applications = await Application.findAll({ order: ['createdAt', 'ASC'], distinct: true, attributes: [ 'id', 'applicantId', 'jobId', ] });

SQL:

 SELECT `id`, `applicantId`, `jobId` FROM `applications` AS `application` ORDER BY `application`.`createdAt`, `application`.`ASC`;

Resultando en: Unknown column 'application.ASC' in 'order clause'

No sé por qué parece estar tratando 'ASC' como una columna. Creo que estoy siguiendo la sintaxis correcta, descrita aquí

Este es mi modelo:

 const Application = sequelize.define('application', { id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true, notNull: true } });

Pensé que agregar explícitamente la propiedad createdAt al modelo podría hacer una diferencia en la ejecución de la consulta o el error, pero no es así:

 const Application = sequelize.define('application', { id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true, notNull: true }, createdAt: { type: Sequelize.DATE, field: 'created_at', } });

Esta es la tabla en WorkBench:

Tabla de aplicaciones

Agradecería la entrada ya que me confundí un poco.

Gracias

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si necesita indicar una dirección de clasificación, debe usar la sintaxis extendida de la opción de order : una matriz de matrices con pares, un nombre de columna y una dirección de clasificación:

 order: [['createdAt', 'ASC']],
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda