0

私は3つのサーバーを持っています:

 ECPAYSERV2 
 POSSQLSERVER 
 ECPAYSERV1 

3つのデータベース

 ECPNWEB
 ECPNPOS
 ECPNDB

と3つのテーブル

 account
 branch
 terminal

サーバーのリンクも完了しました:

 ECPAYSERV2.ECPNWEB.dbo.account
 POSSQLSERVER.ECPNPOS.dbo.branch
 ECPAYSERV1.ECPNDB.dbo.terminal

表示されるフィールドは次のとおりです。

 AccountID = ECPAYSERV2.ECPNWEB.dbo.account.(accntid)
 BranchID = ECPAYSERV2.ECPNWEB.dbo.branch.(branchid)
 TID = ECPAYSERV1.ECPNDB.dbo.terminal.(TID)
 Store # = POSSQLSERVER.ECPNPOS.dbo.branch.(Storeno)
 Store name = ECPAYSERV2.ECPNWEB.dbo.account.(accountholder)
 Branch name = ECPAYSERV2.ECPNWEB.dbo.brachn.(branchname) ,  POSSQLSERVER.ECPNPOS.dbo.branch.(branchname) , ECPAYSERV1.ECPNDB.dbo.terminal.(retail_store_code)

括弧で囲まれたデータは列です。

これらすべてをより明確にするために、表の列を示します..

表 : アカウント

 |Accntid|managedby|Accountholder|Description|AccountType|ContactPerson|ContactNumber|EmailAddress|

表 : 支店

 |BranchID|BranchName|AccountID|StoreNo|Description|Status|

表 : ターミナル

 |TerminalID|TID|retail_store_code|t_distributor_code|

私が望むのは、この出力を正しいデータで取得することだけです..

 |accntid|accountholder|tid|storeno|branchname|branchid|

これは私が試したものですが、正しい出力が得られません

 SELECT account.accntid,account.accountholder,terminal.tid,branch.storeno,branch.branchname,branch1.branchid
 FROM ECPAYSERV2.ECPNWEB.dbo.account as account 
 INNER JOIN POSSQLSERVER.ECPNPOS.dbo.branch as branch
  ON account.accntid=branch.branchid 
 INNER JOIN ECPAYSERV2.ECPNWEB.dbo.branch as branch1
  ON account.accntid=branch1.branchid
 INNER JOIN ECPAYSERV1.ECPNDB.dbo.terminal as terminal 
  ON account.accntid=terminal.tid

この問題について私を助けてくださいありがとう:(

4

1 に答える 1

1
SELECT
    account.accntid, account.accountholder, terminal.tid, branch.storeno, branch.branchname, branch1.branchid
FROM 
    ECPAYSERV2.ECPNWEB.dbo.account as account 
    INNER JOIN POSSQLSERVER.ECPNPOS.dbo.branch as branch
        ON account.accntid=branch.AccountID 
    INNER JOIN ECPAYSERV2.ECPNWEB.dbo.branch as branch1
        ON account.accntid=branch1.AccountID
    INNER JOIN ECPAYSERV1.ECPNDB.dbo.terminal as terminal 
        ON account.accntid=terminal.???

??? は正しくありませんが、端末のどの列がアカウントの FK であるかが明確ではありません。

于 2012-12-27T08:54:27.507 に答える