2014-03-31 33 views
0

我有2個表分類&小類
我需要創建一個查詢,顯示類別名稱,並在各所有子類別(ID +姓名)
類似的東西:
SQL SERVER 1對多 - GROUPBY查詢

Category1 
Sub101 
sub102 
sub103 

Category2 
sub201 
sub202 

Category3 
sub301 
sub302 

我知道我可以計算每隻貓的子集,但我也需要顯示它們的名稱。
我嘗試此查詢:

select distinct CatID, COUNT(SubcategoryID) 
    from Subcategory 
    group by CatId 

另一個查詢:

select distinct CatName, SubcategoryName , COUNT(SubcategoryName) 
    from Categories, Subcategory 
    group by CatName,SubcategoryName 

我需要綁定稍後的下拉列表在asp.net
什麼想法?
謝謝!

+0

您可以發佈你已經至少* *試圖查詢? –

+0

您還需要發佈數據庫模式,以便我們可以爲您正確編寫查詢! –

回答

2

像這樣的東西?

select distinct CatID, 0 as Header, CatName 
from Categories 
UNION 
select distinct CatID, 1, SubcategoryName 
from Subcategory 
Order by CatId, Header, CatName 

這使用CatId將所有類別和子類別組合在一起。然後1 \ 0確保Category排序到最上面,最後CatName \ SubcategoryName按字母順序排序。

如果重複使用與子類別不同的​​選擇,可能存在問題,但如果我們能夠重新使用,則可以通過該橋。

+0

感謝您的回答,我有類似的東西。 問題是類別名稱總是重複。我想顯示catName一次,然後鏈接到該類別的所有潛艇 – Sam

+0

您可以確認分類是重複還是SubCategories? – sarin

+0

無論是貓還是小貓都不重複。 – Sam

0

嘗試使用WHERE EXISTS子句,例如

SELECT 
FROM 
WHERE EXISTS 
(SELECT    
     FROM 
     INNER JOIN  
     ON 
     WHERE "you can also use AND") 
GROUP BY 

希望這有助於