select SUM(pass_count) ,SUM(fail_count),SUM(blocked_count),SUM(no_run_count)
from TAble1(nolock) table1
where owasp_id = (1,2,3,4,5,8)
inner join
Table 2 table2
on
TAble1.build_detail_id = table2.build_detail_id
where
TAble1.build_detail_id in(
select top 6 bdt.build_detail_id from table3 bdt order by 1 desc)
and table1.test_run_id=1
我收到语法错误,我想获得passcount和失败计数的总和,其中owasp_id = 1,2,3,4,5,8并使用表2进行内部联接以获取构建详细信息ID。有人可以帮忙吗?
语法错误共有三个,前两个破坏查询,第三个是强烈建议:
WHERE
应该放在后面FROM
以及任何JOIN
条款中。owasp_id = (1,2,3,4,5,8)
应该在owasp_id IN (1,2,3,4,5,8)
您提供多个值时使用。WITH
使用表提示(NOLOCK
),因此应避免。因此查询应该看起来像这样:
select SUM(pass_count) ,SUM(fail_count),SUM(blocked_count),SUM(no_run_count)
from Table1 WITH (nolock) table1
inner join Table2 table2 on TAble1.build_detail_id = table2.build_detail_id
where owasp_id IN (1,2,3,4,5,8)
AND Table1.build_detail_id in(
select top 6 bdt.build_detail_id from table3 bdt order by 1 desc)
and table1.test_run_id=1
我不能说查询是否会按预期工作,但至少在语法上应该正确。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句