0
レポートのデータソースとして使用しようとしているJSONファイルがネストされています。私は構造体を「平坦化」していますが、兄弟データをどのように評価するかはわかりません。SQLサーバーがネストされたJSONデータ構造内でデータを取得しています
サンプルデータ:
{
"Cources": [{
"ID": 1,
"Name": "MAC100",
"Room": 100,
"TAID": 123,
"StudentsIDs": [
1, 2
]
}
],
"TAs": [{
"ID": 123,
"Name": "Joe",
"LName": "Smith"
}],
"Students": [{
"ID": 1,
"LName": "Clark"
}, {
"ID": 2,
"LName": "Peterson"
}]
}
SQL Serverの:データファイルを取り込み、レポートのデータをフラット化:私は「StudentIDsに "学生" からすべての生徒データを取得する方法でつまずいている
SELECT Cource.ID,
Cource.Name as CName,
Cource.Room as CRoom,
CourceStudents.LName
FROM OPENROWSET (BULK 'C:\Data\file.json', SINGLE_CLOB) as jsonfile
CROSS APPLY OPENJSON(BulkColumn,'$[0]') WITH(
Cources nvarchar(max) AS JSON,
TAs nvarchar(max) AS JSON,
Students nvarchar(max) AS JSON
) AS [SampleData]
CROSS APPLY OPENJSON(Cources) WITH (
Room integer,
Name nvarchar(max),
StudentsIDs nvarchar(max) AS JSON
) as [Cources]
CROSS APPLY OPENJSON(Students) WITH (
ID integer,
LName nvarchar(max),
) as [Students]
CROSS APPLY OPENJSON(StudentsIDs) WITH (
**//??? how to get full data for the student from "Students" joining by the student ID ?**
) as [CourceStudents]
"IDによる参加。
あなたは出力が見えるように何をしたいですか?また、生徒がどのようなCourceにいるかのような数字の文字列を持つことは、良いdbデザインではありません。 – dfundako
このデータはDBには格納されません。私は、SQL Serverを使用して、ライフデータのストリームからレポートを生成しています。私はすべての情報を持つテーブルの行に似てJSON構造を平坦化しようとしています:Cources.ID、Students.ID、Students.LName – kaplievabell