Sql server 2008 是否可以在sql server中对指定的变量执行case语句比较?
是否可以对指定的变量“YRSUMGTHAN75”进行案例比较?当我尝试执行Sql server 2008 是否可以在sql server中对指定的变量执行case语句比较?,sql-server-2008,case,variable-assignment,Sql Server 2008,Case,Variable Assignment,是否可以对指定的变量“YRSUMGTHAN75”进行案例比较?当我尝试执行case语句时,它会冲我咆哮,说“附近的语法不正确” 以下是我的SQL: SELECT A.DUR, A.TL_QUANTITY, (SELECT SUM(TL_QUANTITY) FROM PS_TL_RPTD_TIME WHERE DUR BETWEEN '01-01-2013' AND '12-31-2013' AND EMPLID = A.EMPLID AND TRC IN ('JNC', 'SRJ') HA
case语句时,它会冲我咆哮,说“附近的语法不正确”
以下是我的SQL:
SELECT A.DUR, A.TL_QUANTITY,
(SELECT SUM(TL_QUANTITY) FROM PS_TL_RPTD_TIME
WHERE DUR BETWEEN '01-01-2013' AND '12-31-2013' AND EMPLID = A.EMPLID AND TRC IN ('JNC', 'SRJ')
HAVING SUM(TL_QUANTITY) > 75) AS YRSUMGTHAN75
CASE YRSUMGTHAN75 WHEN > 75 THEN 'NewValue'
End
FROM PS_TL_RPTD_TIME A WHERE A.EMPLID = '10000106052' AND A.DUR > '01-01-2013'
我不完全明白你想做什么,但可能是这样:
select
DUR,
TL_QUANTITY,
case when YRSUMGTHAN75 > 75 then 'NewValue' else 'OldValue' end
from
(
SELECT
A.DUR,
A.TL_QUANTITY,
(SELECT SUM(TL_QUANTITY)
FROM PS_TL_RPTD_TIME
WHERE DUR BETWEEN '01-01-2013' AND '12-31-2013' AND EMPLID = A.EMPLID AND TRC IN ('JNC', 'SRJ')
HAVING SUM(TL_QUANTITY) > 75) AS YRSUMGTHAN75
FROM
PS_TL_RPTD_TIME A
WHERE
A.EMPLID = '10000106052' AND A.DUR > '01-01-2013'
) dt
如果这没有帮助,请使用虚拟表格和数据构建一个小的人工示例,以清楚地说明您的问题。欢迎使用SO!我编辑了你的文章,使你的问题更清楚,并修正了你的代码格式。