2014-02-13 2 views
0

이것은 매우 기본적인 것 같아요.SQL 쿼리 도움말 .Net MVC5

.net MVC5와 작업/{categoryName}/경로가 있고 주어진 {categoryName}의 모든 하위 카테고리를 표시하려고합니다.

지금 내가 가지고와 하위 범주 ID 번호를 반환하고

:

var subCategoriesInCategory = 
    from cat in db.Categories 
    join subcat in db.SubCategories 
    on cat.CategoryId equals subcat.CategoryId 
    where (cat.CategoryName == categoryName) 
    select (subcat); 

나는 이것이 SQL에 능숙 someoone에 대한 기본적인 확신을하지만 ...

감사

답변

1

시도 범주 대신 하위 범주 각도에서이를 봅니다.

somevalue을 일치하는 범주의 CategoryID 값으로 바꿔야합니다.

또는 당신은이 작업을 수행하여 조인 절을 건너 뛸 수 :

var subCategoriesInCategory = 
    from subcat in db.SubCategories 
    where subcat.CategoryId == (from cat 
     in db.Categories 
     where cat.CategoryName == categoryName 
     select cat.CategoryId 
    ).FirstOrDefault() 
    select subcat; 
+0

위대한 작품을보십시오! 감사합니다 :) – ZombieBunnies

+0

대단히 환영합니다! –

0

괜찮아 보인다. 당신이 알고있는 범주가 subcats

var subCategoriesInCategory = 
    (from cat in db.Categories 
    join subcat in db.SubCategories 
    on cat.CategoryId equals subcat.CategoryId 
    where (cat.CategoryName == "ExistingCategory") 
    select subcat).FirstOrDefault(); 
if (subCategoriesInCategory == null) 
{ 
    // somethings wrong ! 
} 

을 가지고 아니면 그냥 하위 카테고리 ID를 원하는 경우

... select new { subcat.ID }