Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SQL:我想用正确的名称替换建筑编号_Javascript_Sql_Asp.net_Stored Procedures - Fatal编程技术网

Javascript SQL:我想用正确的名称替换建筑编号

Javascript SQL:我想用正确的名称替换建筑编号,javascript,sql,asp.net,stored-procedures,Javascript,Sql,Asp.net,Stored Procedures,我有一个兽医SQL server,我正在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 BETW

我有一个兽医SQL server,我正在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
...

非常感谢你的帮助

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

然后将这两个表连接在一起,这样就可以返回
building\u name
,如果不需要,可以从结果中删除
building\u 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

你同时问了几个问题。您是在询问数据库设计、存储过程、json还是asp?尽量说得具体些,否则就太宽泛了,无法回答。请阅读,这里是一个学习如何提高问题质量和获得更好答案的好地方。嗨!非常感谢你的帮助!我学到了一些新东西D此外,我将谨慎地提出更好的问题。我不知道我们可以用字母(即B,C)以如此灵活的方式识别字段。我还想问你:我不需要写C.dateOpened,因为我们提到了“来自tblCases”,对吗?你应该写
C.dateOpened
,让你的代码对下一个家伙更具可读性。但你不必这么做。在
building_uid
的情况下,您必须这样做,因为db不知道这两个中的哪个是您引用的,并且将是含糊不清的。这叫做
Alias
,您也可以对表或字段名执行此操作。