我有一个兽医SQL服务器,我正在使用ASP.NET中的SSMS构建一个存储过程。我有一个工作的SQL查询,它在两个日期之间获取所有临床病例:
USE [vetDatabase_Wizard]
GO
ALTER PROCEDURE sp_GetNewCases (@startDate datetime, @endDate datetime)
AS
BEGIN
SELECT caseID,building FROM tblCases
WHERE dateOpened BETWEEN @startDate and @endDate
END
GO
EXEC sp_GetNewCases '2015-01-01', '2015-08-30'
感谢在线社区,它正在运行!:)
这是输出:
caseID building
1 3
2 3
3 2
...
当我开始学习如何创建SQL数据库时,有人告诉我,为了节省存储空间,最好用相应的编号来存储建筑物名称。例如,tblBuildings:
buildingID name
1 GSC
2 RVH
3 MMD
...
我有7个建筑的名字。我想修改上面的存储过程,以便我可以使用输出(以JSON格式)和一些javascript数据可视化库:
caseID name
1 MMD
2 MMD
3 RVH
...
非常感谢您的帮助!
发布于 2016-06-07 20:56:11
首先,您应该将tblCases字段名building
更改为building_id
,以便与其他表保持一致。
然后将两个表连接在一起,以便返回building_name
,如果不需要,可以从结果中删除building_id
。
BEGIN
SELECT C.caseID, B.building_id, B.Name
FROM tblCases C
JOIN tblBuilding B
ON C.building_id = B.building_id
WHERE dateOpened BETWEEN @startDate and @endDate
END
https://stackoverflow.com/questions/37689036
复制相似问题