SQL,从表A中选择并使用结果ID循环表B?

时间:2013-04-25 17:38:25

标签: sql while-loop

我有一台运行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(费率组)。

1 个答案:

答案 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

将是一个思考的起点。但是,这只是一个疯狂的猜测,因为没有指定架构,也没有表格之间的关系。