create procedure GetFriends
(
  @userid int
)
as 
select Trend,TrendDate,MyMood from MymyUsers where UserId in
(
  select FbId  from MymyFriends where FaId=@userid and (State=1 or State=2)
  select FaId  from MymyFriends where FbId=@userid and State=2
)以上是我写的存储过程,是不正确的写法啊。但它说明了我的问题,就是如何结合“select FbId”,“select FaId”这两个独立的语句来符合UserId in的要求?从来都没碰到过这样的问题,不知道怎么解决啊!急死人了!

解决方案 »

  1.   


    这样可以吗
    create procedure GetFriends
    (
      @userid int
    )
    as 
    select Trend,TrendDate,MyMood from MymyUsers where UserId in
    (
      select FbId  from MymyFriends where FaId=@userid and (State=1 or State=2)
      )
    or 
    UserId in
    (
    select FaId  from MymyFriends where FbId=@userid and State=2)
      

  2.   

    create procedure GetFriends
    (
      @userid int
    )
    as 
    select Trend,TrendDate,MyMood from MymyUsers where UserId in
    (
      select FbId  from MymyFriends where FaId=@userid and (State=1 or State=2)
      )
    or 
    UserId in
    (
    select FaId  from MymyFriends where FbId=@userid and State=2)
    我还没有写完呢,你就出来了
      

  3.   

    create procedure GetFriends
    (
      @userid int
    )
    as 
    select Trend,TrendDate,MyMood from MymyUsers where UserId in
    (
      select FbId  from MymyFriends where FaId=@userid and (State=1 or State=2)
      )
    or 
    UserId in
    (
    select FaId  from MymyFriends where FbId=@userid and State=2)
      

  4.   

    create procedure GetFriends
    (
      @userid int
    )
    as 
    select Trend,TrendDate,MyMood from MymyUsers where UserId in
    (
      select FbId  from MymyFriends where FaId=@userid and (State=1 or State=2)
      union
      select FaId  from MymyFriends where FbId=@userid and State=2
    )