2012-09-10 29 views
12

Làm cách nào để tạo chế độ xem hợp nhất các cột khác nhau với một bảng khác? Tôi có ba bảng ví dụ: người dùng, các mặt hàng và quà tặng (trong ví dụ này đó là một hệ thống mà người dùng có thể đưa ra một món quà cho một người dùng khác)MySQL tạo chế độ xem nối hai bảng

users bảng có thông tin về người dùng, items bảng có thông tin về các mặt hàng và gifts bảng cho biết người dùng nào đã gửi quà gì cho người dùng nào.

Những gì tôi muốn là tạo ra một cái nhìn như sau:

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

tôi không thể thêm hình ảnh vào câu hỏi, vì vậy họ đang ở đây: 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

Và câu hỏi là gì? –

+1

Đó là câu đầu tiên? –

Trả lời

17

Bạn phải tham gia ba bảng đầu tiên. Ví dụ

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

Đã thay đổi 'TỪ quà tặng a' thành quà tặng TỪ ', nghĩ rằng có lỗi đánh máy. Và tôi gặp lỗi: '# 1054 - Cột không xác định 'b.users' trong 'on clause'' –

+0

@ th0th nó thực sự là lỗi đánh máy, nó phải là' a.user_from = b.id' và 'a.user_from = c .id' –

+0

Vâng, bây giờ chính xác những gì tôi đang cố gắng làm. Cảm ơn. –

Các vấn đề liên quan