我几乎不熟悉SQL和存储过程,我需要帮助创建一个从数据库获取数据的存储过程。返回json数据的存储过程
这里是我的ER图
我需要做的,就是让出所有租借的影片为每一位客户当前登录
这里是例子:
客户:
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
结果:
- RentedMovies客户ID为1:(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
是否都应该有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,它从代码隐藏传递。
您正在使用哪个**版本的SQL Server? SQL Server ** 2016 **和更新版本有'FOR JSON'关键字将结果集直接转换为JSON(请参阅[MSDN docs on creating JSON responses](https://docs.microsoft.com/en-us/sql/relational-databases/json/format-query-results-as-json-with-for-json-sql-server)) –
它确实是2016年@marc_s – fkr