Как вывести вложенный массив в json с помощью запроса sql? - PullRequest
0 голосов
/ 16 апреля 2020

То, что я пытаюсь сделать, это создать процедуру магазина в sql, используя приведенную ниже таблицу, и вывести ожидаемый json, как в приведенном ниже множественном объекте, внутри массива объекта json

 [
{
"Category": "Popularity",
"ItemData":[
   {
    "ItemId": "1",
    "ItemName": "CocaCola",
    "Image1": "https://www.foodbusinessnews.net/ext/resources/2019/2/CocaColaFlavors_Lead.jpg?1550182643",
    "FavId": "1",
    "ItemDesc": "gg",
    "Category": "My Favorite"
   },
   {
    "ItemId": "1",
    "ItemName": "CocaCola",
    "Image1": "https://www.foodbusinessnews.net/ext/resources/2019/2/CocaColaFlavors_Lead.jpg?1550182643",
    "FavId": "1",
    "ItemDesc": "gg",
    "Category": "My Favorite"
   },
],
"Category": "Family Style",
"ItemData":[
   {
    "ItemId": "1",
    "ItemName": "Buritos",
    "Image1": "https://www.foodbusinessnews.net/ext/resources/2019/2/CocaColaFlavors_Lead.jpg?1550182643",
    "FavId": "1",
    "ItemDesc": "gg",
    "Category": "My Favorite"
   },
   {
    "ItemId": "1",
    "ItemName": "Mountain Dew",
    "Image1": "https://www.foodbusinessnews.net/ext/resources/2019/2/CocaColaFlavors_Lead.jpg?1550182643",
    "FavId": "1",
    "ItemDesc": "gg",
    "Category": "My Favorite"
   },
],
}

]

FoodAppItem таблица

enter image description here

FoodAppCategory таблица

enter image description here

FoodAppLinker таблица

enter image description here

, так как их много Категория в 1 элементе Я создаю таблицу компоновщика для ввода нескольких категорий в 1 элементе вместо вставки ее в основную таблицу элементов

FoodAppItem.ItemId = FoodAppLinker.ItemId

FoodApplinker.CategoryId = FoodAppLinker. CategoryId

это моя главная проблема => Помогите мне, ребята, сгруппировать элемент в категорию и получить элемент в каждой категории, хорошо, если вывод json отличается, если это условие соответствует. Спасибо

за то, что я использую API для преобразования вывода sql в json

Это то, что я сделал до сих пор

ALTER PROC [dbo].[procFoodAppSelectFoodCategory]
@CategoryId int
AS 
BEGIN

DECLARE @Count INT
DECLARE @RetCode INT
DECLARE @RetMsg VARCHAR(100)

SELECT @RetCode=1, @RetMsg=''

Set @Count = (SELECT  COUNT(*) FROM FoodAppCategory WHERE FoodAppCategory.CategoryId = @CategoryId)
IF @Count > 0

    SELECT  FoodAppItem.ItemId, FoodAppItem.ItemName, FoodAppItem.Image1, FoodAppCategory.Category
    FROM FoodAppItem
    INNER JOIN FoodAppLinker ON FoodAppItem.ItemId = FoodAppLinker.ItemId
    INNER JOIN FoodAppCategory ON FoodAppLinker.CategoryId = FoodAppCategory.CategoryId
    WHERE FoodAppCategory.CategoryId = @CategoryId

ELSE
    SET @RetCode=3 SET @RetMsg='Empty' + CHAR(13) + CHAR(10)

if @RetCode = 3
  BEGIN
   select top 1 @RetCode RetCode, @RetMsg RetMsg
   return
  END
END

это отображает элементы зависят от идентификатора категории, который я ввожу, мне нужно, чтобы они автоматически сортировали базу элементов по категории без ввода идентификатора

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...