Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 在sqlserver中使用行计数循环表的一列_Sql Server 2008_Tsql - Fatal编程技术网

Sql server 2008 在sqlserver中使用行计数循环表的一列

Sql server 2008 在sqlserver中使用行计数循环表的一列,sql-server-2008,tsql,Sql Server 2008,Tsql,这里有一个名为consumer的表,它有23行。从这个表中,我需要从这个表中获取consumerid并循环这个consumerid,然后将值传递给另一个select查询,就像c#中的foreach循环一样。我试过这样做 declare @Id int While (Select Count(*) From Consumer) > 0 Begin Select Top 1 @Id = consumerid From Consumer SELECT childid FROM CH

这里有一个名为consumer的表,它有23行。从这个表中,我需要从这个表中获取consumerid并循环这个consumerid,然后将值传递给另一个select查询,就像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

有什么建议吗?

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

  • 使用光标在每个id之间循环
  • 您不需要循环,而是使用内部联接

    从CHILD内部选择ChildId,并在CHILD上加入消费者。Consumerid=Consumer.Consumerid