2012-09-10 23 views
12

Farklı sütunları farklı bir tabloyla birleştiren bir görünümü nasıl oluşturabilirim? Üç örneğin tablolar vardır: Kullanıcıların, ürün ve hediyelerMySQL iki tablo birleştirerek görünüm oluştur

users tablo kullanıcıların bilgilerini (bu örnekte, bir kullanıcının başka bir kullanıcıya bir hediye verebilir bir sistem), items tablo öğeleri ve gifts tablosu hakkında bilgiler hangi kullanıcının hangi kullanıcıya hediye gönderdiğini gösterir. Benim istediğim

aşağıdaki gibi bir görünüm oluşturmaktır:

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

ben sorgulamaya resimleri eklemek olamazdı, bu yüzden burada: 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

Ve soru nedir? –

+1

İlk cümlede mi? –

cevap

17

Önce üç tablo katılmalısınız. Örnek

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

"a" hediyelerinden "a" hediyelerinden "a" olarak değiştirildi, bir yazım hatası olduğunu belirtti. Ve ben hata alıyorum: '# 1054 - Bilinmeyen sütun 'b.users' in 'on clause'ında' –

+0

@ th0th gerçekten bir yazım hatası, 'a.user_from = b.id' ve' a.user_from = c olmalıdır .id –

+0

Şimdi, tam olarak yapmaya çalıştığım şeyi yapıyor. Teşekkürler. –

İlgili konular