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

173
Vistas
Ejecutar consultas complicadas sin procesar con secuela

Tengo un problema peculiar. Tengo una consulta conjunta debido a la distribución de datos en varias tablas. Quiero ejecutar esto como consulta sql sin procesar usando el módulo de nodo para secuenciar, ya que mucho código existente está asociado usando secuencializar orm. No quiero usar orm aquí, sino solo una consulta sin procesar.

 SELECT testmodel.bacode, testmodel2.paopkey from (SELECT ptr.paopkey as paopkey, psgkey.pskey from (SELECT * FROM pts where paopkey = 4 and ptr_active = 1) ptr, pt_sg psgkey where ptr.pkey = psgkey.pkey) testmodel2, pt_act testmodel where testmodel.pskey = testmodel2.pskey;

Cualquier consejo si la consulta anterior se puede ejecutar como una consulta sin procesar y los datos se pueden capturar como resultado. Además, cuando ejecuto el siguiente código con el siguiente código de secuencia, aparece el error "_sequelize.default.query no es una función"

 import Sequelize from 'sequelize'; async function getTestDataList(opcoKey) { const testdata = await Sequelize.query(`SELECT testmodel.bacode, testmodel2.paopkey from (SELECT ptr.paopkey as paopkey, psgkey.pskey from (SELECT * FROM pts where paopkey = 4 and ptr_active = 1) ptr, pt_sg psgkey where ptr.pkey = psgkey.pkey) testmodel2, pt_act testmodel where testmodel.pskey = testmodel2.pskey;`, { type: Sequelize.QueryTypes.SELECT }).then(function (results) { // SELECT query - use then }) return toPlain(testdata); }

El código Dbclient que usa la instancia de secuenciación es el siguiente

 import config from 'config'; import Sequelize from 'sequelize'; class DataSource { constructor() {this.DBclient = null; } initializeDB(dbCredentials) { const dataSource = config.datasource; const options = { host: "127.0.0.1", dialect: dataSource.dialect, port: dataSource.port, logging: false, }; const { password } = dbCredentials || dataSource; this.DBclient = new Sequelize( dataSource.database, "root", "root", options, ); } getDBClient() { return this.DBclient; }}export default new DataSource();
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Debe almacenar una conexión Sequelize creada y usarla para llamar al método de query :

 const sequelize = new Sequilize(connection_options_here) const testdata = await sequelize.query(`SELECT testmodel.bacode, testmodel2.paopkey from (SELECT ptr.paopkey as paopkey, psgkey.pskey from (SELECT * FROM pts where paopkey = 4 and ptr_active = 1) ptr, pt_sg psgkey where ptr.pkey = psgkey.pkey) testmodel2, pt_act testmodel where testmodel.pskey = testmodel2.pskey;`, { type: Sequelize.QueryTypes.SELECT })

Lo then en el código anterior porque no es necesario, por lo que usa await .

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