Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

340
Visualizações
Fusionar sqlite "redundante" a la izquierda unir filas en una matriz de javascript a JSON

Estoy creando una API REST en expressjs para mi sitio web, actualmente tengo una tabla de Product como esta:

 id | name 1 | Shirt

Los productos pueden tener fallas conocidas, enumeradas en una tabla Flaw

 id | desc | productId 1 | short sleeve | 1 2 | no buttons | 1

En mi front-end, quiero que se enumeren todos los defectos de ese producto, por lo que necesito un JSON como el siguiente:

 [{"id": 1, "name": "Shirt", "flaws": [{"desc": "short sleeve"}, {"desc": "no buttons"}]}]

Actualmente, mi consulta SQL en Express se ve así:

 var sql = "SELECT Product.id, Product.name, Flaw.desc FROM Product LEFT JOIN Flaw ON Flaw.productId = Product.id"

y así es como hago la llamada y la llego a JSON:

 db.all(sql, (err, rows) => { if(err){ res.status(400).json({"error": err.message}); } res.status(200).json(rows); });

Sin embargo, esto me da como resultado lo siguiente:

 [{"id": 1, "name": "Shirt", "desc": "short sleeve"}, {"id": 1, "name": "Shirt", "desc": "no buttons"}]

Entiendo que esto se debe a la naturaleza de mi consulta SQL (usando LEFT JOIN), pero me gustaría conocer una buena manera de "fusionar" las partes redundantes en un elemento (id, nombre) y tener un "par secundario " llamadas fallas en mi JSON, donde se enumeran las partes de fallas no redundantes.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Obtenga su json directamente de una consulta:

 SELECT json_object( 'id', p.id, 'name', p.name, 'flaws', json_group_array(json_object('desc', f.desc)) ) result FROM Product p LEFT JOIN Flaw f ON f.productId = p.id GROUP BY p.id;

Ver la demostración .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda