SQL 服务器 select 条件
SQL Server select condition
我想 select count (*)
从一个 table 条件基于一个字段的类型,考虑下面的代码我在一个查询中想要这样的东西:
select
count (*)
from
moniotr as m
case
when m.type = 1
begin
join paramter as p on p.id = m.paramId
where .....
end
when m.type = 2
begin
join aggTable as ag on ag.id = m.addId
where ....
你能告诉我如何在一个查询中处理这个问题吗?
为了获得更多许可,我想要监视器上具有条件 1 的类型 1 和具有条件 2 的类型 2 的监视器计数,两种类型的计数之和!
谢谢
执行 2 个单独的查询,然后合并结果
select cnt = sum(cnt)
from
(
select cnt = count(*)
from monitor m
inner join paramter as p on p.id = m.paramId
where m.type = 1
union all
select cnt = count(*)
from monitor m
inner join aggTable as ag on ag.id = m.addId
where m.type = 2
) as d
我想 select count (*)
从一个 table 条件基于一个字段的类型,考虑下面的代码我在一个查询中想要这样的东西:
select
count (*)
from
moniotr as m
case
when m.type = 1
begin
join paramter as p on p.id = m.paramId
where .....
end
when m.type = 2
begin
join aggTable as ag on ag.id = m.addId
where ....
你能告诉我如何在一个查询中处理这个问题吗?
为了获得更多许可,我想要监视器上具有条件 1 的类型 1 和具有条件 2 的类型 2 的监视器计数,两种类型的计数之和! 谢谢
执行 2 个单独的查询,然后合并结果
select cnt = sum(cnt)
from
(
select cnt = count(*)
from monitor m
inner join paramter as p on p.id = m.paramId
where m.type = 1
union all
select cnt = count(*)
from monitor m
inner join aggTable as ag on ag.id = m.addId
where m.type = 2
) as d