2012-09-10 34 views
12

如何創建一個視圖,將不同的表與不同的表合併在一起?我有例如三個表:用戶,項目和禮物(在這個例子中它是一個用戶可以贈送禮物給其他用戶的系統)MySQL創建加入兩個表的視圖

users表中有關於用戶的信息,items表大約有項目和gifts表信息顯示哪個用戶向哪個用戶發送了什麼禮物。

我想要的是創建一個視圖類似以下內容:

user_from | user_to | gift_name | gift_price 
sally  | john | Teddy Bear | 10 
+0

我不能添加圖像的問題,所以他們在這裏: http://i.stack.imgur.com/YCfAO.png http://i.stack.imgur.com/ 7AUhc.png http://i.stack.imgur.com/8W06W.png http://i.stack.imgur.com/forWs.png –

+1

問題是什麼? –

+1

這是在第一句話? –

回答

17

首先您必須加入三個表。例如

CREATE VIEW GiftsList 
AS 
SELECT b.name user_from, 
     c.name user_to, 
     d.name gift_name, 
     d.price gift_price 
FROM gift a 
     INNER JOIN users b 
      ON a.user_from = b.id 
     INNER JOIN users c 
      ON a.user_from = c.id 
     INNER JOIN items d 
      ON a.item = d.id 
+0

將'FROM gift a'改爲'FROM gifts a',認爲有錯字。我得到的錯誤: '#1054 - 'on子句'中的未知列'b.users'# –

+0

@ th0th它確實是一個錯字,它應該是'a.user_from = b.id'和'a.user_from = c .id' –

+0

那麼,現在正是我想要做的。謝謝。 –