2011-06-12 44 views
0

我有一個很基本的問題,我想可能需要一個加入才能完成。不過,我對MySQL非常陌生!以下是我需要的決絕:mysql加入基本問題

我有3個表:

Productsattributesproducts_to_attributes

我需要做的是選擇我想這是關聯到該產品的屬性是什麼查詢,基於products_to_attributes表。

因此,讓我們說我的產品id = 1,我需要抓取基於products_to_attributes表中的屬性表中的所有行,該表只保存pid以提供幫助。

回答

1
SELECT a.* 
FROM attributes a 
INNER JOIN products_to_attributes pa ON a.aid = pa.aid 
WHERE pa.pid = 1 
+0

這讓我感到困惑。什麼是和pa? – 2011-06-12 21:21:14

+0

該表的別名,不必每次輸入整個表名。語法是'從屬性AS a'選擇a.ID,但是可以省略'AS'。 – Konerak 2011-06-12 21:22:37

+0

:)這工作完美。謝謝 – 2011-06-12 21:27:17

-1
SELECT a.* 
FROM attributes a, products_to_attributes b 
WHERE a.aid = b.aid 
AND b.pid = 1 

它基本上是相同的答案tofutim,但不使用INNER JOIN語法。

+0

INNER JOIN語法優於ANSI-89樣式。 – Konerak 2011-06-12 21:23:16

+0

並且使用隱式的'where'加入會讓你在SO上投票。 – Johan 2011-06-12 21:24:46

+0

http://stackoverflow.com/questions/44917/explicit-vs-implicit-sql-joins我donno,它覺得這是有點偏好 – 2011-06-12 21:31:58