簡體   English   中英

返回JSON數據的存儲過程

[英]Stored procedure that returns json data

一般而言,我對SQL和存儲過程非常陌生,我需要幫助來創建從數據庫獲取數據的存儲過程。

這是我的圖

在此處輸入圖片說明

我需要做的是為當前登錄的每個客戶獲取所有租借的電影。

這是示例:

客戶

Id: 1
Name: Jack
Last name: Jackson

Id: 2
Name: John
Last name: Jankins

電影

Id: 1
Title: Logan
Serial num: 19946519

Id: 2
Title: Shutter island
Serial num: 23456519

Id: 3
Title: Pulp fiction
Serial num: 11934857

結果:

  • ID為1的客戶的RentedMovies:(ID為1和2的電影)

RentedMovies

Id: 1
Name: John
Last name: Jankins
Title: Logan
Serial num: 19946519
Category: Action
Type: Limited release

Id: 2
Name: John
Last name: Jankins
Title: Shutter island
Serial num: 23456519
Category: Mystery
Type: Limited release

我不確定RentedMovies是否都應具有1的Id,但我認為您已經了解了我要實現的目標。

這是我到目前為止所獲得的,但是沒有用。 另外,我不知道如何使它返回為JSON。

SELECT 
    rm.id, c.name, c.lastName, m.title, m.serialNumber, cat.category, t.type
FROM 
    RentedMovies rm
INNER JOIN  
    Customer c ON c.id = rm.fk_Customer,
INNER JOIN  
    Movies m ON m.id = rm.fk_Movie
INNER JOIN  
    Category cat ON cat.id = mc.fk_Category
INNER JOIN  
    Type t ON t.Id = mt.fk_Type
WHERE 
    c.id = Id;

我將衷心感謝您的幫助!

PS:這是一個ASP.NET MVC應用程序,結果應基於用戶當前登錄的ID,該ID是從代碼隱藏傳遞的。

這應該工作!

Create Proc RentedFilms (
@ID
) AS

 SELECT 
 CM.id
,CM.name
,CM.lastName
,MV.title
,MV.serialNumber
,CG.category
,TP.type
FROM RentedMovie RM
LEFT JOIN Customer CM on RM.fk_Customer=CM.id
LEFT JOIN Movie MV on  RM.fk_Movie=MV.id
RIGHT JOIN MovieCategory  MC on MC.fk_Movie=MV.id
LEFT JOIN Category CG on CG.id=MC.fk_Category
RIGHT JOIN MovieType MT on MT.fk_Movie=MV.id
LEFT JOIN Type TP on TP.id=MT.fk_Type
WHERE CM.id=@ID
FOR JSON AUTO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM