2017-02-10 6 views
0

結果を得るには、以下のSQLクエリをlinqクエリで構築するにはどうすればよいですか?linqクエリでサブクエリを使用

SELECT PageNumber from LMS_SurveyQuestion WHERE SurveyQuestionID IN 
(SELECT SurveyQuestionID from LMS_SurveyQuestionOptionChoice 
WHERE NextPageNumber = 4) and SurveyID = 1 

答えて

1

を試すには、this articleを見てください。基本的に、LINQでSQL INクエリを実装する場合は、最初に内部クエリを作成してから、Contains()メソッドを使用する必要があります。ここに私の試みがあります:

var innerQuery = (from log in LMS_SurveyQuestionOptionChoice where log.NextPageNumber = 4 select log.SurveyQuestionID); 

var result = (from f in LMS_SurveyQuestion where innerQuery.Contains(f.SurveyQuestionID) && f.SurveyID = 1 select f); 

私はこれが役に立ちます。

+0

しかし、SurveyID = 1はどこで使用されていますか? SurveyIDはLMS_SurveyQuestionに属します。 – David

1

この

var result = from l in LMS_SurveyQuestion 
      let lsq = from l_S in LMS_SurveyQuestionOptionChoice 
      where l_S.NextPageNumber = 4 
      select l_S.SurveyQuestionID 
      where lsq.Contains(l.SurveyQuestionID) and l.surveyid = 1 
      select l.PageNumber; 
+0

しかし、SurveyID = 1はどこで使用されますか? SurveyIDはLMS_SurveyQuestionに属します。 – David

関連する問題