如何使用返回值作为JSON密钥从SQL SERVER 2016返回JSON?

时间:2017-04-05 10:52:38

标签: sql-server json

我有以下表结构

╔══════════════════════╦═══════╦══════════════════════╗
║         key          ║ lang  ║         text         ║
╠══════════════════════╬═══════╬══════════════════════╣
║ epost.leder.lykketil ║ nn-NO ║ Lykke til!           ║
║ epost.leder.lykketil ║ de-DE ║ Viel Erfolg!         ║
║ epost.leder.lykketil ║ pl-PL ║ Powodzenia!          ║
║ epost.leder.lykketil ║ en-US ║ Good luck!           ║
║ epost.leder.lykketil ║ sv-SE ║ Lycka till!          ║
║ epost.leder.lykketil ║ da-DK ║ God fornøjelse!      ║
║ epost.leder.lykketil ║ lt-LT ║ Sėkmės!              ║
║ epost.leder.lykketil ║ lv-LV ║ Labu veiksmi!        ║
║ epost.leder.lykketil ║ et-EE ║ Õnn kaasa!           ║
║ epost.leder.lykketil ║ nb-NO ║ Lykke til!           ║
║ lp.aggregertrapport  ║ pl-PL ║ Zagregowany raport   ║
║ lp.aggregertrapport  ║ nn-NO ║ Aggregert rapport    ║
║ lp.aggregertrapport  ║ de-DE ║ Aggregierter Bericht ║
║ lp.aggregertrapport  ║ sv-SE ║ Aggregerad rapport   ║
║ lp.aggregertrapport  ║ en-US ║ Aggregated report    ║
║ lp.aggregertrapport  ║ da-DK ║ Samlet rapport       ║
╚══════════════════════╩═══════╩══════════════════════╝

我想要以下结构

[{
  "key": "epost.leder.lykketil",
  "text": {
    "nn-NO": "Lykke til!",
    "de-DE": "Viel Erfolg!",
    "pl-PL": "Powodzenia!",
    "en-US": "Good luck!",
    ...
    "nb-NO": "Lykke til!"
  }
},
{
  "key": "lp.aggregertrapport",
  ...
}]

我在SQL Server 2016中使用SELECT FOR JSON功能尝试了几种解决方案,但我无法弄清楚如何将返回值用作密钥。

0 个答案:

没有答案