读书人

判断条件解决方案

发布时间: 2013-07-01 12:33:04 作者: rapoo

判断条件
有A、 B两个表:
A 有CA1,CA2,CA3三个字段;
B 有CB3,CB4两个字段;
AB通过CA3 = CB3关联;

当CA1为 01,02,03,04任一值,且CA2为A或者K时,
B中对应的必须有两条或以上记录,且CB4的值必须是 10,13,15中任意不同两个值时, 执行statement1

当CA1为 01,02,03,04任一值,且CA2为S时,
B中对应的必须有两条或以上记录,且CB4的值必须是 11,12,15中任意不同两个值时, 执行statement2


请教这样的查询语句怎么写?
[解决办法]

if exists(select 1
from A inner join B on A.CA3=b.CB3
where a.CA1 in('01','02','03','04') and a.CA2 in('A','K') and b.CB4 in(10,13,15)
group by a.CA1
having count(b.CB4)>=2)

--statement1

if exists(select 1
from A inner join B on A.CA3=b.CB3
where a.CA1 in('01','02','03','04') and a.CA2 ='S' and b.CB4 in(11,12,15)
group by a.CA1
having count(b.CB4)>=2)
--statement2

读书人网 >SQL Server

热点推荐