Вложенный JSON из базы данных
У меня есть следующие данные в моей базе данных.
Date Computer Hits
========== ===================== =======
2014-11-04 one 1
2014-11-04 two 249
2014-11-05 one 200
2014-11-05 two 50
2014-11-06 one 75
2014-11-06 two 100
2014-11-07 two 50
Который будет генерироваться случайным образом в базе данных
мне нужно создать вложенный JSON
что-то вроде
var computer = { "one" : [ { "Hits" : 1},
{ "Hits":200},
{ "Hits":75}
],
"two" : [ { "Hits" : 1},
{ "Hits":200},
{ "Hits":75}
] // End "sales" Array.
}
Мне нужно это в следующем формате, так как я создаю JQX-диаграмму с накопленными рядами линий, я пытался использовать пары ключ-значение и считывать их непосредственно из базы данных, но проблема в том, что он дает только одну строку, может кто-нибудь предложить способ
1 ответ
Вы можете использовать "group by" и "stuff" в sql, чтобы получить группу со списком совпадений.
Затем вы можете манипулировать значениями далее в коде, который вы используете для вызова sql, чтобы получить вложенный json.
select computer,
STUFF((SELECT '{Hits: ' + cast(value as varchar(10)) + '},'
FROM @computerTable b
WHERE b.computer = a.computer
FOR XML PATH('')), 1, 0, '')
from @computerTable a
group by computer