首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sql server T SQL 2014 (重用相同的查询)

Sql server T SQL 2014 (重用相同的查询)
EN

Stack Overflow用户
提问于 2017-04-05 19:44:38
回答 2查看 37关注 0票数 2

我有一个连接3,4个表的查询(比如select * from table1 join table2 join table3),同一个查询在我的存储过程中被多次使用。有没有办法把这个查询放在一个地方,并且我可以在我的整个存储过程中使用它(在单个存储过程中)?

代码语言:javascript
运行
复制
SELECT p.PK_PatientID
        FROM Patients p
        INNER JOIN PT ON e.FK_PatientID = p.PK_PatientID
        INNER JOIN PN n ON n.FK_PatientEncounterID = e.PK_PatientEncounterID
        INNER JOIN BP ep ON ep.FK_PatientEncounterID = e.PK_PatientEncounterID
        INNER JOIN SOP pd ON ep.FK_SharedProcedureDetailID = pd.PK_SharedOfficeProcedureDetailID
        INNER JOIN CQM vs ON pd.FK_SharedProcedureCode = vs.Code

这是我想在我的过程中多次使用的查询

EN

回答 2

Stack Overflow用户

发布于 2017-04-05 20:53:50

如果多次使用查询,则可以使用Temp table或Table变量并向其中插入数据

如果由于未知原因不想使用临时表或表变量,则可以使用视图

票数 1
EN

Stack Overflow用户

发布于 2017-04-21 21:34:53

您可以将select查询存储在视图中:

代码语言:javascript
运行
复制
CREATE VIEW vW_Example
AS
    SELECT p.PK_PatientID
        FROM Patients p
        INNER JOIN PT ON e.FK_PatientID = p.PK_PatientID
        INNER JOIN PN n ON n.FK_PatientEncounterID = e.PK_PatientEncounterID
        INNER JOIN BP ep ON ep.FK_PatientEncounterID = e.PK_PatientEncounterID
        INNER JOIN SOP pd ON ep.FK_SharedProcedureDetailID = pd.PK_SharedOfficeProcedureDetailID
        INNER JOIN CQM vs ON pd.FK_SharedProcedureCode = vs.Code

然后,您可以像这样调用视图:

代码语言:javascript
运行
复制
SELECT * FROM vW_Example
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43230234

复制
相关文章

相似问题

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