如果第一行为空,如何选择第二行

时间:2016-01-19 08:51:08

标签: sql sql-server tsql sql-query-store

如果第一行为空,如何在Sql server查询中选择第二行。我有3张桌子

  1. 用户
  2. 站点
  3. siteUser
  4. 用户可以分配到多个网站网站可以有多个用户,但现在我想要每个网站只有一个用户,但如果第一个用户没有以+01开头的手机号码,我必须让第二个用户分配到该网站,但如果他是没有必要选择第3个。请帮忙

1 个答案:

答案 0 :(得分:0)

此查询为首先注册的用户提供电话号码,每个站点的开头为+01

select s.name, u.*
from site s
outer apply (
                select top(1) * 
                    from user u 
                    where u.phone like '+01%' 
                    and u.id in (select userId FROM siteUser su WHERE su.SiteId = s.Id)
                    order by u.registrationDate
            ) as u