2013-12-17 51 views
-1

我一直試圖讓此SQL查詢運行一段時間,似乎無法得到最後一點。SQL內部使用單個用戶標識從兩個表中加入列

所有這些數據的後端數據庫是一個Drupal安裝,數據分佈在多個模塊中,所以我需要進行大量的連接才能獲得一個我需要的第三方視圖表應用。

很難解釋整個架構,但這裏的sqlfiddle:

http://sqlfiddle.com/#!2/68df0/2/0

所以基本上,我有一個用戶ID,我通過一個連接映射到一個配置文件ID。然後,我需要使用該配置文件ID從兩個其他表中提取有關該配置文件的相關數據。 (每個其他表中應該只有一行,每個pid只有一行)

所以最後我想看到一個帶有username,othername和key_id的表。

我得到了前兩件,但似乎無法弄清楚如何加入其他名稱,並保持空。

服務器正在運行MySQL。

謝謝你們!

+0

在最後LEFT JOIN部分,它應該是'LEFT JOIN OTHER_NAME ON profile_link.pid = other_name.pid;'。 – ChunLin

回答

0
LEFT JOIN other_name 
ON profile_link.pid=other_name.pid; 
+0

哎呀,這是sqlfiddle中的拼寫錯誤,它現在在小提琴中工作,但仍然不在我的實際生產環境中,所以我不確定問題出在哪裏。我想我只能一直玩,直到它工作。 編輯:哦,我剛剛意識到,profile_link實際上每個用戶有兩行,一個鏈接到鍵,另一個鏈接到名稱,所以我需要寫一個更復雜的查詢。儘管如此,這是我發佈的問題的正確解決方案。謝謝。 – dkisselev