我在 SQL Server 中有一個問題:我想要選擇串列的串列或物件的物件而不是表。
例子 :
SELECT p.Name, List (J.Name), ....
FROM dbo.Person AS p
INNER JOIN dbo.Jobs AS j ON j.PersonId = p.id
GROUP BY p.name
就像一個 json 示例:
{
Name : "test"
Jobs : [
{
Name : "Job",
Position : 2
},{
Name : "Job1",
Position : 1
}]
}
對我來說這個問題有解決方案嗎?
我想輸出一個可用于 Web 服務的存盤程序
uj5u.com熱心網友回復:
鑒于此示例資料:
CREATE TABLE dbo.Person(Id int, Name nvarchar(32));
INSERT dbo.Person VALUES(1, N'test');
CREATE TABLE dbo.Jobs(Id int, Name nvarchar(32), PersonId int, Position int);
INSERT dbo.Jobs VALUES(1, N'Job', 1, 2),(1, N'Job1',1,1);
您只需申請FOR JSON AUTO加入即可獲得您想要的結果(好吧,關閉):
SELECT p.Name, jobs.Name, jobs.Position
FROM dbo.Person AS p
INNER JOIN dbo.Jobs AS jobs
ON jobs.PersonId = p.id
FOR JSON AUTO, WITHOUT_ARRAY_WRAPPER;
輸出(空白我的):
{
"Name":"test",
"jobs":[
{
"Name":"Job",
"Position":2
},{
"Name":"Job1",
"Position":1
}]
}
- 示例資料庫<>小提琴
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/335847.html
標籤:C# sql sql-server
上一篇:在基類方法中使用未來的子型別別
