您好,非常感谢您抽出宝贵时间。我正在使用 SQL Server 2008。我的挑战如下:
我有 3 个数据库Q_DB
, CAN_DB
, USA_DB
. CAN_DB
并且USA_DB
有相同的表格,但代表两个不同的国家
有Q_DB
队列表。一个表被调用ACCOUNTS
,感兴趣的列是ACCOUNTID
和SERVER
我想从.的字段中查询其他两个数据库的信息ACCOUNTS
。一个例子是:
Q_DB.dbo.ACCOUNTS
- ID123 CAN_DB
- ID456 USA_DB
- ID789 CAN_DB
我知道我可以这样做,但我想知道是否有其他方法可以获得结果。
SELECT ACTNAME, AMTDUE, SHIPCOUNTY
FROM CAN_DB.dbo.Accts
WHERE ACCTID IN(SELECT ACCOUNTID FROM Q_DB.dbo.ACCOUNTS WHERE SERVER IN('CAN_DB')
UNION ALL
SELECT ACTNAME, AMTDUE, SHIPCOUNTRY
FROM USA_DB.dbo.Accts
WHERE ACCTID IN(SELECT ACCOUNTID FROM Q_DB.dbo.ACCOUNTS WHERE SERVER IN('USA_DB')
任何帮助或意见或建议将不胜感激。谢谢