如何在子查询中使用存储过程以使用主查询数据作为参数获取where子句中的值

时间:2017-02-20 10:42:06

标签: sql sql-server stored-procedures subquery sql-server-2014

我想使用存储过程GetSLAClass来获取where子句的单个值,如下所示。而且我还想使用WRMaster(主表)值作为存储过程参数。有什么解决方案吗?我想做这两件事来获得正确的数据。

这是错误消息

  

Msg 156,Level 15,State 1,Line 7
  关键字“EXEC”附近的语法不正确。

     

Msg 102,Level 15,State 1,Line 7
  '。'

附近的语法不正确

这是我的SQL查询(目前无效)

SELECT 
    *
FROM 
    WRMaster W
WHERE 
    DATEDIFF(minute, W.AckedDateTime, W.ResolvedDateTime) <=
        (SELECT Priority
         FROM FMSLAClassPriorityMap
         WHERE SLAClassKey = (EXEC dbo.GetSLAClass W.LocationKey, W.ServicCategoryKey, W.ProblemTypeKey, NULL, ''))
WHERE WRKey=4

1 个答案:

答案 0 :(得分:1)

这是一种可以做到这一点的方法,

{{1}}