Я пытаюсь создать вывод в определенном формате JSON, вот пример вывода (будет повторяться много раз - один раз для каждого университета):
образец изображения JSON
{
"id": "37e556ae6b9f620d2b7262d3de971c40",
"recordType": "school",
"created": 1532531378,
"updated": 1532531378,
"published": 1532531378,
"name": "ABC University – ABC School of Management",
"schoolName": "ABC School of Management",
"universityName": "ABC University",
"sortableName": "ABC School of Management"
}
Я думал, что буду использовать SQL для этого, так как он имеет команду FOR JSON, которая обрабатывает форматирование JSON и будет иметь дело с вложением. Я могу воссоздать вышесказанное, используя следующий код, когда я жестко кодирую значения:
SELECT
HASHBYTES('md5','something') AS id
,'school' AS recordType
,getdate() AS created
,getdate() AS updated
,getdate() AS published
,'ABC University – ABC School of Management' AS name
,'ABC School of Management' as schoolname
,'ABC University' as universityName
, 'ABC School of Management' as sortableName
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
Проблема, с которой я столкнулся, заключается в том, что мне нужно создать этот вывод 100 раз для разных университетов. Я хочу создать таблицы базы данных в SQL и запустить что-то поверх него. Вот пример данных в Excel, я отфильтровал список, чтобы показать только данные, необходимые для вышеупомянутого и пару других точек данных, которые необходимы в более поздних отдельных выходных данных (я буду беспокоиться о других выходных данных позже):
IndiUID SchoolCode DataValue Ranking Band RegionalRank
OVERALL_SCORE XYZ 105 D 23
SCHOOL_NAME_FORMAL XYZ XYZ Institute of Management
SCHOOL_NAME_SORTABLE XYZ XYZ Institute of Management
SCHOOL_NAME_AND_BUSINESS_SCHOOL_NAME XYZ XYZ Institute of Management, XYZ School of Business
STUDENTS_MEDIAN_AGE XYZ 26
OVERALL_SCORE ABC 35 B 3
SCHOOL_NAME_FORMAL ABC ABC School of Management
SCHOOL_NAME_SORTABLE ABC ABC School of Management
SCHOOL_NAME_AND_BUSINESS_SCHOOL_NAME ABC ABC University – ABC School of Management
STUDENTS_MEDIAN_AGE ABC 26
пример данных изображения
Я просто не могу понять, как мне нужно структурировать свои таблицы, чтобы я мог выделять соответствующие части с помощью SQL. Мне интересно, следует ли мне поворачивать таблицу так, чтобы значения «IndiUID» становились полями в таблице базы данных или создавали новую таблицу для каждого из текущих элементов заголовка (DataValue, Ranking, Band и т. Д.).
Я думал, что смогу выбрать из таблицы, где indiUID = OVERALL_SCORE, SCHOOL_NAME_FORMAL и т. Д., Но мне интересно, не слишком ли это грязно.
Вот где я застрял - как мне организовать эти данные в таблицы, чтобы можно было извлечь их? В основном речь идет о создании вывода JSON, поэтому не имеет значения, что часть БД является особенно элегантным решением (это не будет - я очень разбираюсь в SQL!).