[SQL] 어떻게 SQL에 LINQ를 가진 IN 서브 쿼리를 처리 할 수 있습니까?
SQL어떻게 SQL에 LINQ를 가진 IN 서브 쿼리를 처리 할 수 있습니까?
나는 조금이 붙어 있어요. 기본적으로 나는 SQL에 LINQ에서 다음 SQL 쿼리 그런 짓을 할 :
SELECT f.*
FROM Foo f
WHERE f.FooId IN (
SELECT fb.FooId
FROM FooBar fb
WHERE fb.BarId = 1000
)
어떤 도움을 기꺼이받을 수있다.
감사.
해결법
-
==============================
1.이 문서에서보세요. 당신이 IN의 동등한를 얻으려면 기본적으로, 먼저 내부 쿼리를 생성 한 다음, 포함 () 메소드를 사용해야합니다. 여기에 번역에서 내 시도는 다음과 같습니다
이 문서에서보세요. 당신이 IN의 동등한를 얻으려면 기본적으로, 먼저 내부 쿼리를 생성 한 다음, 포함 () 메소드를 사용해야합니다. 여기에 번역에서 내 시도는 다음과 같습니다
var innerQuery = from fb in FoorBar where fb.BarId = 1000 select fb.FooId; var result = from f in Foo where innerQuery.Contains(f.FooId) select f;
-
==============================
2.
var q = from t1 in table1 let t2s = from t2 in table2 where <Conditions for table2> select t2.KeyField where t2s.Contains(t1.KeyField) select t1;
var q = from t1 in table1 let t2s = from t2 in table2 where <Conditions for table2> select t2.KeyField where t2s.Any(t1.KeyField) select t1;
-
==============================
3.
from f in Foo where f.FooID == ( FROM fb in FooBar WHERE fb.BarID == 1000 select fb.FooID ) select f;
-
==============================
4.두 개의 별도의 단계를 사용하십시오 :
두 개의 별도의 단계를 사용하십시오 :
// create a Dictionary / Set / Collection fids first var fids = (from fb in FooBar where fb.BarID = 1000 select new { fooID = fb.FooID, barID = fb.BarID }) .ToDictionary(x => x.fooID, x => x.barID); from f in Foo where fids.HasKey(f.FooId) select f
-
==============================
5.// 먼저 사전 / 설정 / 컬렉션 FIDS를 만들
// 먼저 사전 / 설정 / 컬렉션 FIDS를 만들
다른 기사 찾기
var fids = (from fb in FooBar where fb.BarID = 1000 select new { fooID = fb.FooID, barID = fb.BarID }) .ToDictionary(x => x.fooID, x => x.barID); from f in Foo where fids.HasKey(f.FooId) select f
-
==============================
6.이 시도
이 시도
var fooids = from fb in foobar where fb.BarId=1000 select fb.fooID var ff = from f in foo where f.FooID = fooids select f
-
==============================
7.
var foos = Foo.Where<br> ( f => FooBar.Where(fb.BarId == 1000).Select(fb => fb.FooId).Contains(f.FooId));
-
==============================
8.
from f in foo where f.FooID equals model.FooBar.SingleOrDefault(fBar => fBar.barID = 1000).FooID select new { f.Columns };
-
==============================
9.// 먼저 사전 / 설정 / 컬렉션 FIDS를 만들
// 먼저 사전 / 설정 / 컬렉션 FIDS를 만들
다른 기사 찾기
var fids = (from fb in FooBar where fb.BarID = 1000 select new { fooID = fb.FooID, barID = fb.BarID }) .ToDictionary(x => x.fooID, x => x.barID); from f in Foo where fids.HasKey(f.FooId) select f
from https://stackoverflow.com/questions/51339/how-can-you-handle-an-in-sub-query-with-linq-to-sql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 찾을 수 없습니다 저장 프로 시저 'dbo.aspnet_CheckSchemaVersion' (0) | 2020.04.09 |
---|---|
[SQL] 무엇 '다중 부분 식별자'이며 왜이 바인딩 할 수 없습니다? (0) | 2020.04.09 |
[SQL] 주석 @Id 및 @GeneratedValue (전략 = GenerationType.IDENTITY)의 사용은 무엇인가? 왜 generationtype 정체성은 무엇입니까? (0) | 2020.04.09 |
[SQL] 두 열의 조합에 고유 제한 조건을 추가 (0) | 2020.04.09 |
[SQL] 어떻게 여러 열에서 중복을 찾을 수 있습니까? (0) | 2020.04.09 |