Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

217
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda