I am trying to run below query in mysql workbench, it gives correct output.
SELECT Employee.Lname, Employee.Fname, Department.Dname,
(SELECT CONCAT('[', GROUP_CONCAT(CONCAT(
'{"PNAME":"', Project.Pname, '"',
'"PNUMBER":"', Project.Pnumber, '"',
',"HOURS":"', Works_on.Hours, '"}')),']') as 'json'
FROM Works_on
INNER JOIN Project ON Project.Pnumber = Works_on.Pno WHERE Employee.Ssn = Works_on.Essn) AS Projects
FROM Employee
JOIN Department ON Department.Dnumber = Employee.Dno
WHERE Department.Dnumber = Employee.Dno;
This is the output.
But when i put it as a string, the dynamic parameters in the subquery as passed as a static(string) which leads to the wrong output.
query = "SELECT Employee.Lname, Employee.Fname, Department.Dname, (SELECT CONCAT('[', GROUP_CONCAT(CONCAT('{\"PNAME\":"', Project.Pname, '"','\"PNUMBER\":"', Project.Pnumber, '"',',\"HOURS\":"', Works_on.Hours, '"}')),']') as 'json' FROM Works_on INNER JOIN Project ON Project.Pnumber = Works_on.Pno WHERE Employee.Ssn = Works_on.Essn) AS Projects FROM Employee JOIN Department ON Department.Dnumber = Employee.Dno WHERE Department.Dnumber = Employee.Dno;"
I printed the query in the console, it's like this -
SELECT Employee.Lname, Employee.Fname, Department.Dname, (SELECT CONCAT('[', GROUP_CONCAT(CONCAT('{"PNAME":, Project.Pname, ','"PNUMBER":, Project.Pnumber, ',',"HOURS":, Works_on.Hours, }')),']') as 'json' FROM Works_on INNER JOIN Project ON Project.Pnumber = Works_on.Pno WHERE Employee.Ssn = Works_on.Essn) AS Projects FROM Employee JOIN Department ON Department.Dnumber = Employee.Dno WHERE Department.Dnumber = Employee.Dno;
this is output on executing the above query in python.
Edit - @Barmar solution helped me to get the correct records but while converting it to xml, dictionaries are not converting into xml tags.
current output is -
Edit2 - @Barmar solution gives output like this -
Here I want to store like below (without quotes)-
I am fetching this document & storing it as .json file then converting that json file to xml I am looking to get the nested xml tags for projects tag.
Could anyone help me to resolve this ?
Thanks, Jay






JSON_ARRAY_AGGandJSON_OBJECTinstead of constructing JSON by hand."are not quoted..."after:json_objectorjson_array_agg.