这是我的疑问。
select *
from dbase1.dbo.profile
where dbase1.dbo.profile.id IN (select * from dbase2.dbo.profile where country='philippines');
答案 0 :(得分:1)
如果它在同一台服务器上,则只能引用数据库名称。
SELECT * FROM dbase1.dbo.profile a INNER JOIN dbase2.dbo.profile b
ON a.id = b.id
WHERE b.country = 'Philippines'
您的查询失败的原因是因为这部分
where dbase1.dbo.profile.id IN (select * from dbase2.dbo.profile....
您正在将dbase1.dbo.profile.id与dbase2.dbo.profile上的所有列进行比较, 如果将其更改为
,您的查询将起作用 where dbase1.dbo.profile.id IN (select id from dbase2.dbo.profile....
这样您的查询只会将一列与另一列进行比较
这假设dbase2.dbo.profile还有一个名为ID的列,它是您引用的一列