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

173
Views
¿Cómo puedo fusionar los resultados de una consulta SQL que devuelve varios objetos con la misma identificación?

Estoy construyendo mi primera API de Node.js. En el punto final '/posts' tengo un retorno como este:

 [ { "POST_ID": 1, "POST_TITLE": "Post N.1", "POST_DESCRIPTION": "Description for Post N.1", "POST_PHOTO_URL": "Url for image 1 of post 1" }, { "POST_ID": 1, "POST_TITLE": "Post N.1", "POST_DESCRIPTION": "Description for Post N.1", "POST_PHOTO_URL": "Url for image 2 of post 1" }, { "POST_ID": 2, "POST_TITLE": "Post N.2", "POST_DESCRIPTION": "Description for Post N.2", "POST_PHOTO_URL": "Url for image 1 of post 2" }, { "POST_ID": 2, "POST_TITLE": "Post N.2", "POST_DESCRIPTION": "Description for Post N.2", "POST_PHOTO_URL": "Url for image 2 of post 2" } ]

¿Cómo puedo fusionar los objetos que tienen el mismo POST_ID y hacer de POST_PHOTO_URL una matriz que contenga todas las URL para la misma publicación?

Quiero algo como esto:

 responseObj = { postId: 0, postTitle: "Post N.1", postDescription: "Description for Post N.1", postImages: ['first_url', 'second_url'], };

Mi consulta SQL es: SELECT P.POST_ID, P.POST_TITLE, P.POST_DESCRIPTION, PI.POST_PHOTO_URL FROM POST P INNER JOIN POST_ITEMS AS PI ON P.POST_ID = PI.POST_ID SQL SERVER.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No tengo un SERVIDOR SQL para probar esto, pero la salida deseada probablemente podría crearse con la siguiente consulta.

 SELECT P.POST_ID AS postId, P.POST_TITLE AS postTitle, P.POST_DESCRIPTION AS postDescription, oa.postImages FROM POST P OUTER APPLY( SELECT PI.POST_PHOTO_URL AS postImages FROM POST_ITEMS PI WHERE PI.POST_ID = P.POST_ID FOR JSON PATH ) oa

Esto debería devolver una representación JSON de las POST_PHOTO_URL deseadas. Tienes que analizarlos para obtener tu matriz.

 result.forEach(r => { r.postImages = JSON.parse(r.postImages); })
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!