2016-10-12 84 views
2

我有兩個數據庫test1,test2,他們都有一個表company與列company_namepeople。現在我想選擇兩個表中的公司的名字和我這個查詢實現它:多個屬性的內部聯接

SELECT t1.company_name 
FROM dblink('dbname=test1', 
      'select company_name from company where companyid IS NOT NULL' 
      ) AS t1(company_name name) 
    INNER JOIN 
    (SELECT company_name 
     FROM dblink('dbname=test2', 
        'select company_name from company where companyid IS NOT NULL' 
       ) AS t2(company_name name) 
    ) AS t3(company_name) 
ON t1.company_name=t3.company_name; 

但現在我想要得到的公司在兩個表中,如果它們具有相同的company_namepeople。我試圖在上面的查詢結尾添加平等,但它不起作用。

+1

這將是,如果你'創建更容易外國表「而不是? –

+0

你不能這是他們如何給予 – Joel

回答

1

你必須添加people

  • 的DBLINK SELECT小號
  • 表別名t1t2
  • JOIN條件
+0

這裏是我所做的:SELECT t1.company_name,t1.people FROM dblink('dbname = test1', 'select company_name,companyid where companyid IS NOT NULL' )AS t1(company_name name,people name) AS t3(company_name,people))AS t2(company_name name,people name) )SELECT t3(company_name,people name) (SELECT company_name ) ON t1.company_name = t3.company_name AND t1.people = t3.people; – Joel

+0

但我得到以下錯誤:錯誤:表「t3」有1列可用,但指定了2列 – Joel

+0

我發現我的錯誤感謝信息:) – Joel