2010-02-24 143 views
1

我有兩個發佈新聞信息的網站。我剛剛收到請求,爲其中一個網站製作單個頁面,顯示這兩個網站的混合結果。它們位於同一臺服務器上,表格幾乎完全相同,但我在解決如何組合這兩個查詢時遇到了問題。帖子需要按照日期,標題進行排序,完成所有事情。如何在使用MySQL的單個查詢中查詢兩個不同的數據庫?

對於參數起見,表的簡化形式是

DB 1,表Clips1(PK_ID,DateToShow,標題,說明)

DB 2,表Clips2(PK_ID,DateToShow,標題,描述)

所以單查詢將命中兩個數據庫(用戶名和密碼是不同目前),或兩個查詢和某種組合將保持排序的日期和標題。

+0

一些更多的信息,該網站有不同的原因,一個是西班牙,一個是英語,我們希望他們是兩個完全不同的網站(大部分內容是完全不同的),但該請求是張貼英語的東西以及向西班牙文版本添加更多內容。 如果我不能用一個簡單的做結合,恐怕我將不得不修改英文網站的管理員發佈數據庫記錄到這兩個領域,這似乎亂了我。 – RiddlerDev 2010-02-24 04:34:23

+0

對不起!已經投了票,以爲我也接受了 – RiddlerDev 2010-03-04 12:34:19

回答

1

IF可用於查詢單個連接,實在是小巫見大巫。

你說的模式是在同一臺服務器上,這樣具有相應權限的這不應該是一個問題。

這種情況的一般語法是:

SELECT schemaA.table.column 
FROM schemaA.table 
UNION 
SELECT schemaB.table.column 
FROM schemaB.table 

你甚至可以執行連接,只記得指定適當的架構表和字段的參考。

+0

我完全控制了服務器,所以我認爲它就像創建連接到兩個數據庫的聯合用戶名/密碼一樣簡單使用? – RiddlerDev 2010-02-24 04:38:38

+1

你可以這樣做,或者直接給現有用戶權限給其他數據庫。例如'GRANT ALL ON \'spanish_db \'。* TO '某' IDENTIFIED BY「english_pass'' – hobodave 2010-02-24 04:40:45

+0

親愛hobodave ..我只是edting我的answere,當我編輯我的答案後回來..ü給我 'english_user' @一個負面的觀點.. – 2010-02-24 04:41:45

相關問題