2012-02-24 69 views
0

我有兩個MySQL表稱爲產品和類別Mysql的其中兩個表

產品

id  name   category   
1   Product #1  1   
2   Product #2  1    
3   Product #3  1    
4   Product #4  2    

類別

id  name     
1   Category #1    
2   Category #2     
3   Category #3     
4   Category #4   

我怎麼會叫所有的產品,其中類別#1是真的嗎?必須使用實際名稱而不是數字,以便mysql可以看到該category.name = category.id,然後根據該名稱調用所有產品。

+0

如果您有任何問題,請閱讀http://en.wikipedia.org/wiki/Join_(SQL)並返回給我們。 – YXD 2012-02-24 19:58:05

+0

或http://www.tizag.com/mysqlTutorial/mysqljoins.php和http ://www.tizag.com/mysqlTutorial/mysqlleftjoin.php – biziclop 2012-02-24 19:58:42

回答

1

簡單連接:

SELECT * FROM products AS p 
LEFT JOIN categories AS c ON p.category = c.id 
WHERE c.name LIKE 'Category #1' 
+0

感謝您的幫助。 – Claremont 2012-02-24 20:25:21

+2

從技術上講,我想你會想要一個內部連接,但結果是一樣的。 – 2012-02-24 20:49:58

0
Select 
     P.* 
    from 
     Category C 
     JOIN Products P 
      on C.ID = P.Category 
    where 
     C.Name = 'Category #1' 

這樣,就立即與它的名字你的類別表開頭,則變成由適當的內部ID鏈接引用匹配的產品。