こんにちは、ありがとうございました。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')
どんな助けや意見や提案も大歓迎です。ありがとう