2个数据库。如果第一个中不存在值,则在第二个中查找/搜索

时间:2014-05-18 20:34:35

标签: sql-server sql-server-2008

我有两个数据库让我们分别命名为db1,db2。在这两个中我都有一个名为'users'的表,其中包含userid和password字段。

问题是:如果第一个数据库中没有用户;然后,查看/搜索第二个。

有点新的SQL Server,所以这就是我到目前为止......

if exists(select userid from db1 where userid='whatever')
    select * from db1 where userid='whatever'
else
    select * from db2 where userid='whatever'

我的问题是,这是执行此操作的最佳方式吗?还有其他办法吗?如果是,请分享......

1 个答案:

答案 0 :(得分:2)

您可以使用@@ROWCOUNT函数返回受最后一个语句影响或读取的行数。

select * from db1.dbo.users where userid='whatever'
 IF(@@ROWCOUNT = 0)
  BEGIN
   select * from db2.dbo.users where userid='whatever'
  END