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

327
Vistas
Postgres: Sequelize Group, no funciona cuando se hace referencia a la columna de la tabla de inclusión

Este es mi código, realmente ya no sé cómo solucionar este problema.

cuando ingreso este código.

 db.models.Price.findAll({ attributes:['id', 'item.item_name'], group: [ ['masterfile_price.id','item.id','item.item_name'] ], // [sequelize.literal('Item.item_name')] // ['masterfile_price.id'] raw: true, include: [{ model: db.models.Item, as: 'item', attributes: ['id',"item_name"], }], })

Me dará este error error DatabaseError [SequelizeDatabaseError]: la columna "item.item_name" debe aparecer en la cláusula GROUP BY o usarse en una función agregada, no sé por qué

la consulta es esta

 SELECT "masterfile_price"."id", "item"."item_name", "item"."id" AS "item.id", "item"."item_name" AS "item.item_name" FROM "masterfile_prices" AS "masterfile_price" LEFT OUTER JOIN "masterfile_items" AS "item" ON "masterfile_price"."itemId" = "item"."id" GROUP BY "masterfile_price"."id";

el problema es que solo quiero el item_name

en mi consulta original sin usar secuencial está funcionando esto

 SELECT "item"."item_name" AS "item.item_name" FROM "masterfile_prices" AS "masterfile_price" LEFT OUTER JOIN "masterfile_items" AS "item" ON "masterfile_price"."itemId" = "item"."id" GROUP BY item.item_name;

cuales serán los resultados de

item.item_name
prueba9
prueba10

No sé por qué no puedo replicarlo, en secuela, ¿o me estoy perdiendo algo?

o hay algo malo con secuenciar grupo por

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

0

opción de group debe ser una string | Fn | Col o una matriz de string | Fn | Col . Por lo tanto, debe eliminar los corchetes adicionales:

 group: ['masterfile_price.id','item.id','item.item_name']

Si desea seleccionar y agrupar solo por item.item_name , debe indicarlo solo en los attributes y en las opciones de group :

 db.models.Price.findAll({ attributes:[[Sequelize.col('item.item_name'), 'item_name']], group: Sequelize.col('item.item_name'), raw: true, include: [{ model: db.models.Item, as: 'item', attributes: [], }], })
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