我有一台运行MS-SQL 2008的Windows服务器。
我有一个客户表,我需要选择所有活动,暂停或暂停的客户的ID。
获取所有Y =当前活跃客户的客户H =暂停S =暂停
select id from customer where active = 'Y';
上述声明适用于选择受影响客户的ID。
我需要使用这些结果循环通过以下命令,以了解所有受影响的客户的费率。
获取客户的所有费率
select rgid from custrate where custid = [loop though changing this id with results from first statement];
来自客户表的id与来自custrate表的custid一致。
所以最后我需要列出所有受影响的客户ID以及他们拥有的rgid(费率组)。
答案 0 :(得分:2)
SQL不是关于循环的,而是你应该考虑连接。
select customer.id, custrate.rgid, customer.active
from customer
inner join custrate
on customer.id = custrate.custid
where active in ('Y', 'H', 'S")
order by customer.active, customer.id
将是一个思考的起点。但是,这只是一个疯狂的猜测,因为没有指定架构,也没有表格之间的关系。