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

163
Vistas
Ejecutar dos consultas en la misma tabla e implementarlas en la misma ruta

¿Cómo puedo hacer que esto funcione?

Creo que debería usar promesas pero no tengo mucho conocimiento sobre ellas. He leído sobre ellos, pero no pude crear la estructura como se supone que debe hacerlo.

Simplemente quiero ejecutar dos consultas diferentes en la misma tabla y usar los valores devueltos en el mismo archivo ejs

 app.get('/', (req, res) => { db.query('SELECT COUNT(*) AS count, FORMAT(SUM(donation_amount),2) AS total FROM donations;', (err, result) => { if (err) throw err; let count = result[0].count; //since query column is requested as "count". we can use "count" to get back the raw value let total = result[0].total; res.render('home', { count: count, total: total }); // just the file name is enough. ejs engine looks up the file name in the "views" folder }); db.query('SELECT CONCAT(first_name, ", ", last_name AS latest_donator, donation_amount AS amount FROM donations ORDER BY donation_time LIMIT 1;', (err, result) => { if (err) throw err; let donatorName = result[0].latest_donator; let amount = result[0].amount; res.render('home', {first_name: donatorName, amount: amount}); }); });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Solo puede enviar la respuesta ( res.render(...) ) una vez que tenga el resultado de ambas consultas. Por lo tanto, es posible que desee hacerlo secuencialmente de esta manera.

 app.get('/', (req, res) => { db.query('SELECT COUNT(*) AS count, FORMAT(SUM(donation_amount),2) AS total FROM donations;', (err, result) => { if (err) throw err; let count = result[0].count; //since query column is requested as "count". we can use "count" to get back the raw value let total = result[0].total; db.query('SELECT CONCAT(first_name, ", ", last_name AS latest_donator, donation_amount AS amount FROM donations ORDER BY donation_time LIMIT 1;', (err, result) => { if (err) throw err; let donatorName = result[0].latest_donator; let amount = result[0].amount; res.render('home', { first_name: donatorName, amount: amount, count: count, total: total }); }); }); });

Pero las consultas son independientes entre sí, por lo que podría ejecutarlas en paralelo.

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