我有2個數據庫,即db1,db2。我需要一個從這些dbs(db1,db2)中獲取數據的查詢,每個數據庫都有兩張表(讓步,開具發票)。跨多個數據庫連接查詢 - 語法錯誤
在db1.concessions =>讓步是主鍵。 db1.invoicing => [讓步號碼]是主鍵
同樣在db2.concessions =>讓步是主鍵。 db2.invoicing => [特許數]是主鍵
在數據庫1
db1.tbl1 =>特許表具有數據
concession
TH-123
TH-456
FP-789
NZ-609
db1.tbl2 =>發票表具有數據
[Concession Number] invoiced_on
TH-322 10.09.10
TH-900 23.10.10
FP-675 04.05.09
NZ-111 19.11.08
幸運的是,在數據庫中的特許權的價值在獨特的。 。即讓步[讓步] =發票[特許號碼]產生沒有數據..
在DATABASE2:
db1.tbl1 =>特許表具有數據
concession
TH-123
FP-789
NZ-999
TH-900
db1.tbl2 =>發票表具有數據
[Concession Number] invoiced_on(dd.mm.yy)
TH-456 18.01.06
TH-777 23.10.04
FP-675 03.05.09
NZ-149 26.11.08
在這裏,在DB2讓步是獨特的,讓步。[讓步] =發票。[特許號碼]的產率沒有數據..
查閱查詢應取具有共同 DB1中的記錄。(concessions.concession OR invoicing.concession數)= DB2(concessions.concession OR invoicing.concession數)
在樣品它應該返回的數據,TH-123,FP-789,NZ-999,FP-675。
我的第二個問題是有可能將此查詢擴展到多個數據庫。我無法將數據庫的數量更改爲1,因爲它們已經修復爲。請讓我知道最好的程序。
我想是這樣的,有語法錯誤,
SELECT a.concession as db1_CON_NUMBER FROM db1.dbo.concessions as a UNION
SELECT b.[Concession Number] as db1_CON_NUMBER FROM db1.dbo.invoicing as b
INNER JOIN
SELECT c.concession as db2_CON_NUMBER FROM db2.dbo.concessions as c UNION
SELECT d.[Concession Number] as db2_CON_NUMBER FROM db2.dbo.invoicing as d
ON db1_CON_NUMBER = db2_CON_NUMBER
希望你會回答這兩個問題。 感謝您耐心閱讀這麼長的郵件!
只是在數據庫名稱前加上db1.dbo.tbl1前綴,然後在查詢中使用它。 – 2010-11-02 10:05:43
感謝您的回覆。我也是這樣做的。即db1.dbo.concessions和db1.dbo.invoicing – satya 2010-11-02 10:07:41