我在一個sql服務器上有兩個數據庫,我必須將兩個表從一個數據庫服務器鏈接到另一個數據庫服務器中的兩個表以獲取我需要的信息。問題是,當我嘗試鏈接來自第二個數據庫服務器的兩個表時,查詢將返回1000或更多的重複項。我如何在兩個數據庫上運行單個查詢?所有表格都有repair_ord列。有人可以幫幫我嗎?謝謝。多個數據庫上的SQL查詢
server 1 = CXADMIN
SERVER 2 = SAADMIN
這裏是我的查詢看起來像至今:
SELECT RF.REPAIR_ORD,
RH.RECV_UNIT,
RH.RECV_SERIAL_NBR,
RP.FAULT_CODE,
RP.REPAIR_ACTION_CODE,
CG.TASK_CODE
FROM CXADMIN.RO_FAILURE_DTL RF,
CXADMIN.RO_HIST RH,
[email protected] rp,
[email protected] cg
WHERE RF.REPAIR_ORD = RH.REPAIR_ORD
AND RP.REPAIR_ORD = CG.REPAIR_ORD
AND RF.FAILURE_CODE ='DISK'
AND RH.CURR_FACILITY_ID ='23'
AND RF.CREATED_DATE >'1-JUN-2010'
AND RF.CREATED_DATE < '1-JUL-2010'
AND ( CG.TASK_CODE ='PHMD'
OR CG.TASK_CODE ='PHSN'
OR CG.TASK_CODE ='CHMD'
OR CG.TASK_CODE ='CHSN')
爲什麼你不只是'聯盟所有'他們呢? – zerkms 2011-05-09 01:43:44
使用JOIN時(您的查詢使用ANSI-89 JOIN語法)會出現重複項,因爲父記錄具有多個子記錄。我們不知道您的數據 - 註釋掉表格,並逐漸添加它們以知道哪些連接負責。 – 2011-05-09 01:51:41
@zerkms,我試過聯合功能,但我很困惑如何使用它在這個查詢B/C所有表相同。他們只有repair_ord列相同。 – Justin 2011-05-09 02:28:27