SQLServer2008とTalendを使用しています
私が直面している問題は、2つの異なるデータベースに2つのテーブルがあり、それらに同じフィールドがあり、それらをクエリして特定の基準を満たそうとしていることです。
ユーザーには、テーブルとすべてを表示するための適切な権限があります。
どちらのテーブルにもいくつかのフィールドが必要なので、作業を楽にするためにビューを作成しました。DbUSAビューを作成しました
(ビュー内)
"SELECT IDCUST, NAMECUST,CODETERM,AMTCRLIMT,DATELASTIV,AMTBALDUEH
FROM TABLE!
WHERE COUNTRYCODE = 'USA' OR COUNTRYCODE ="U.S.A" //this is for USA server
only the other doesn't have the WHERE clause.
ここで、他のDB('MAIN')を使用してこのビューを照会します。
基準は、IDCUSTが同じである場合、「USA」データベースの行が必要なことです。
私は試した:
SELECT *
FROM USA.dbo.VIEWUSA
UNION
SELECT *
FROM MAIN.dbo.VIEWMAIN
WHERE MAIN.dbo.IDCUST <> USA.dbo.VIEWUSA.IDCUST
USA.dbo.VIEWUSA.IDCUSTが適切でなかったと言っても、エラーが発生します。
JOINとして試しましたが、結合がまったく機能しませんでした(最大行数は約6kで、停止する前は100kでクエリを実行していました)。