J'utilise node.js et OracleDB pour joindre 2 tables, avec une relation de un à plusieurs.node.js oracledb - Récupère un enregistrement par groupe avec un tableau
Par exemple:
RECORDS Table:
RECORD_ID COMMENTS
1000 Comment 1
1001 Comment 2
DISPOSITIF Tableau:
DEVICE_ID REF_RECORD_ID DEVICE_NAME
2000 1000 iPhone 6
2001 1000 iPhone 7
2003 1001 Samsung Galaxy S6
2004 1001 Samsung Galaxy S7
je peux récupérer une jointure en utilisant
SELECT A.RECORD_ID, A.COMMENT, B.DEVICE_ID, B.DEVICE_NAME FROM RECORDS A, DEVICES B WHERE A.RECORD_ID = B.REF_RECORD_ID;
Résultat actuel:
[{
RECORD_ID: 1000, COMMENT: "Comment 1", DEVICE_ID: 2000, DEVICE_NAME: "iPhone 6"
},
{
RECORD_ID: 1000, COMMENT: "Comment 1", DEVICE_ID: 2001, DEVICE_NAME: "iPhone 7"
},
{
RECORD_ID: 1001, COMMENT: "Comment 2", DEVICE_ID: 2003, DEVICE_NAME: "Samsung Galaxy S6"
},
{
RECORD_ID: 1001, COMMENT: "Comment 2", DEVICE_ID: 2004, DEVICE_NAME: "Samsung Galaxy S7"
}]
Mais je voudrais un résultat comme indiqué ci-dessous:
[{
RECORD_ID: 1000, COMMENT: "Comment 1",
DEVICES: [{ DEVICE_ID: 2000, DEVICE_NAME: "iPhone 6" }, { DEVICE_ID: 2001, DEVICE_NAME: "iPhone 7" }]
},
{
RECORD_ID: 1001, COMMENT: "Comment 2",
DEVICES: [{ DEVICE_ID: 2003, DEVICE_NAME: "Samsung Galaxy S6" }, { DEVICE_ID: 2004, DEVICE_NAME: "Samsung Galaxy S7" }]
}]
Y at-il une meilleure façon de le faire plutôt que de boucles à travers le réseau d'objets, puis de trouver la création de dupliquer RECORD_ID et un tableau pour pousser les sous-éléments?