2012-10-10 118 views
-2

可能重複:
sql join query not working correctlySQL JOIN查詢(合併3個表)

我希望所有其中r從相同類別所屬的產品數據(類別可以包含不同的子類別,則所有來自同一類別的所有subcats的數據)???????

像凱特 - >電子

subcates --->筆記本電腦,電腦配件

產品---> applemac,hp14pavalian,公羊,耳機

使用[CMS] GO /對象:StoredProcedure [dbo]。[SpGetRelatedProducts] Script Date:10/10/2012 23:55:39 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO 改變PROC [DBO]。[SpGetAllProducts](@ cateid INT) AS SELECT * 從產品 內部聯接子類別上subcategory.subcate_id = product.subcate_id 上subcategory.cate_id = @cateid

內部聯接類別我希望屬於不同子類別和這些子類別的所有產品都屬於同一類別,並且也是子類別表 的列,但在上面的代碼中存在一個問題,即每行重複的次數太多。

+1

你能提供一些示例數據? – Gidil

+0

您只需要產品數據? – Magnus

+0

我想要所有屬於同一類別的產品數據(類別可能包含不同的子類別,然後來自同一類別的所有子類型的所有數據)??????? – user1734269

回答

1
SELECT DISTINCT * 
FROM Products p 
JOIN ... 
+0

不工作...... – user1734269

+3

試圖更好地解釋你需要什麼... –

0

嗯,你的問題有一定的差異儘可能列命名得好,但假設你的表名是實際產品,子類別和種類,以及你想加入類別到子類別的cate_id列,並加入產品到subcate_id列的子類別,那麼這就是你需要做的。

SELECT DISTINCT Product.* 
FROM Product, SubCategory, Category 
WHERE Product.subcate_id = SubCategory.subcate_id 
AND SubCategory.cate_id = Category.cate_id 
AND Category.cate_id = @cateid 

這是隱性的方式聯接語法,是同樣的事情寫出來完全像下面...

SELECT DISTINCT Product.* 
FROM Product 
JOIN SubCategory ON Product.subcate_id = SubCategory.subcate_id 
JOIN Category ON SubCategory.cate_id = Category.cate_id 
WHERE Category.cate_id = @cateid 
+0

雅其工作,但沒有顯示subcategiry TBL的列和類別也列.....因爲我想........ 非常感謝 – user1734269

+0

如果它是正確的,請接受答案。你的問題也可以使用一些編輯來使其更清楚,所以如果將來有人有類似的問題,他們可能會用這個答案作爲參考。 – Jim