Hi Trevor,
Thanks for your response. UserInfo is there and UserId is also exists. And yes when I replace @CMS_User_UserID with the value in SQL I get the data.
When I do  like below I am getting the data. Don't know why the first one is not working.
    .Where("CMS_User.UserID=" + userInfo.UserID)
Now I change the query to like below and it is working.
 UserInfoProvider.GetUsers()                            
  .Source(user => user.Join<ContactInfo>("CMS_User.UserID", "OM_Contact.ContactOwnerUserID")                            .Join<SubscriberInfo>("OM_Contact.ContactID", "Newsletter_Subscriber.SubscriberRelatedID")                            )                            .Where("CMS_User.UserID="+userInfo.UserID)                            .Columns("Newsletter_Subscriber.SubscriberID").Distinct();
Thanks.