首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL:我想用正确的名称替换一个建筑物号。

SQL:我想用正确的名称替换一个建筑物号。
EN

Stack Overflow用户
提问于 2016-06-07 20:46:24
回答 1查看 28关注 0票数 1

我有一个兽医SQL服务器,我正在使用ASP.NET中的SSMS构建一个存储过程。我有一个工作的SQL查询,它在两个日期之间获取所有临床病例:

代码语言:javascript
运行
复制
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'

感谢在线社区,它正在运行!:)

这是输出:

代码语言:javascript
运行
复制
caseID   building
1        3
2        3
3        2
...

当我开始学习如何创建SQL数据库时,有人告诉我,为了节省存储空间,最好用相应的编号来存储建筑物名称。例如,tblBuildings:

代码语言:javascript
运行
复制
buildingID     name
1              GSC
2              RVH
3              MMD
...

我有7个建筑的名字。我想修改上面的存储过程,以便我可以使用输出(以JSON格式)和一些javascript数据可视化库:

代码语言:javascript
运行
复制
caseID         name
1              MMD
2              MMD
3              RVH
...

非常感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-07 20:56:11

首先,您应该将tblCases字段名building更改为building_id,以便与其他表保持一致。

然后将两个表连接在一起,以便返回building_name,如果不需要,可以从结果中删除building_id

代码语言:javascript
运行
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37689036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档