Vous n'êtes pas identifié(e).
Pages : 1
Bonjour à tous,
Je souhaiterai exporter une requête qui est transformée en format JSON mais j'ai un problème à ce niveau, je souhaite obtenir un résultat tel que :
{
"text": "autumn",
"pronunciation": "autumn",
"definitions": [
{
"part_of_speech": "noun",
"body": "skilder wearifully uninfolded..."
},
{
"part_of_speech": "verb",
"body": "intrafissural fernbird kittly..."
},
{
"part_of_speech": "adverb",
"body": "infrugal lansquenet impolarizable..."
}
]
}
Mais j'obtiens plutôt ça :
{
"text": "autumn",
"pronunciation": "autumn",
"definitions": [
{
"part_of_speech": "noun",
"body": "skilder wearifully uninfolded..."
},
]
{
"text": "autumn",
"pronunciation": "autumn",
"definitions": [
{
"part_of_speech": "verb",
"body": "intrafissural fernbird kittly..."
},
]
}
Comme vous le voyez définitions est séparé dans différentes lignes. voici mon code je ne trouve pas mon erreur :
SELECT array_to_json(array_agg(row_to_json(t) ) )
from (
SELECT lgn_nom AS LigneName, P.id AS PARCOURSID, C.id as courseID, origine_destination,
(
SELECT array_to_json(array_agg(row_to_json(d) ) )
FROM (
SELECT ECP.pnt_nom AS StopName,ECP.date AS StopTime, ECP.lat AS Latitude, ECP.lon AS Longitude,nb_in AS PassagersIn, nb_out AS PassagersOut
FROM evt_comptage ECP
WHERE ECP.id_evt_arret = EA.id
) d
) AS evt_comptage
FROM evt_arret EA, passage_horaire PH, parcours P , ligne L , course C
WHERE PH.id = EA.passage_horaire AND PH.course = C.id AND PH.parcours = P.id AND L.id = P.ligne
) t
Merci d'avance pour votre patience et votre réponse.
Hors ligne
Bonjour,
Que renvoie votre requête et quel est votre problème exactement ?
Julien.
https://rjuju.github.io/
Hors ligne
Voila ce que j'obtiens avec ma requête :
[
{ "lignename" : "BERNARD",
"parcoursid" : 19761,
"courseid" : 20723,
"origine_destination" : "ALBERT",
"evt_comptage" : [{
"stopname" : "HENRY",
"stoptime" : "2016-01-18T21:15:29",
"latitude" : 48.618111,
"longitude" : -1.510928,
"passagersin" : 0,
"passagersout" : 0
}
]
}, {
"lignename" : "BERNARD",
"parcoursid" : 19761,
"courseid" : 20723,
"origine_destination" : "ALBERTL",
"evt_comptage" : [{
"stopname" : "HENRY",
"stoptime" : "2016-01-18T21:29:03",
"latitude" : 48.631719,
"longitude" : -1.508361,
"passagersin" : 13,
"passagersout" : 1
}
]
}
]
Or moi je voudrai plutôt :
[
{ "lignename" : "BERNARD",
"parcoursid" : 19761,
"courseid" : 20723,
"origine_destination" : "ALBERT",
"evt_comptage" : [{
"stopname" : "HENRY",
"stoptime" : "2016-01-18T21:15:29",
"latitude" : 48.618111,
"longitude" : -1.510928,
"passagersin" : 0,
"passagersout" : 0
},{
"stopname" : "HENRY",
"stoptime" : "2016-01-18T21:29:03",
"latitude" : 48.631719,
"longitude" : -1.508361,
"passagersin" : 13,
"passagersout" : 1
}
]
}
]
Hors ligne
Je ne vois pas comment vous aider sans avoir la structure des tables et des données. Je suppose qu'il vous manque au moins un GROUP BY à la fin de la requête.
Julien.
https://rjuju.github.io/
Hors ligne
Pages : 1