こんにちは、ありがとうございました。SQLServer2008を使用しています。課題は次のとおりです。
私は3つのデータベースを持っていQ_DB
ますCAN_DB
、、USA_DB
。CAN_DB
同じテーブルをUSA_DB
持っていますが、2つの異なる国を表しています
Q_DB
にはキューのテーブルがあります。1つのテーブルが呼び出されACCOUNTS
、対象の列はACCOUNTID
とSERVER
のフィールドから他の2つのデータベースの情報を照会したいと思います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')
どんな助けや意見や提案も大歓迎です。ありがとう