我有两个数据库让我们分别命名为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'
我的问题是,这是执行此操作的最佳方式吗?还有其他办法吗?如果是,请分享......
答案 0 :(得分:2)
您可以使用@@ROWCOUNT
函数返回受最后一个语句影响或读取的行数。
select * from db1.dbo.users where userid='whatever'
IF(@@ROWCOUNT = 0)
BEGIN
select * from db2.dbo.users where userid='whatever'
END