使用sqlserver中的行计数遍历表的一列

时间:2014-05-07 09:22:44

标签: sql-server-2008 tsql

这里有一个名为consumer的表,有23行。从这个表我需要从这个表中获取consumerid并循环这个consumerid并将值传递给另一个选择查询,如c#中的foreach循环。我试过这个

declare @Id int
While (Select Count(*) From Consumer) > 0
Begin
    Select Top 1 @Id = consumerid From Consumer

  SELECT childid FROM CHILD where consumerid=@Id 
End

任何建议?

1 个答案:

答案 0 :(得分:1)

不确定你的最终目标是什么,但这里有两种方法:

  1. 使用游标循环遍历每个id
  2. 您无需循环,而是使用内部联接

    SELECT ChildId FROM CHILD inner join Consumer ON child.Consumerid = consumer.consumerid