Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

174
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!