1
私はこの下のSQLクエリをうまく動作させています。私はそれがLINQ
SQLを変換するSQL - Linq with
SELECT DISTINCT TOP (100) PERCENT PersonId, FamilyName, GivenName, MiddleName, CompleteName
FROM dbo.MainTable AS a
WHERE (PersonId IN
(SELECT PersonId
FROM dbo.Table1
WHERE (PersonId = a.PersonId))) OR
(PersonId IN
(SELECT PersonId
FROM dbo.Table2
WHERE (PersonId = a.PersonId))) OR
(PersonId IN
(SELECT PersonId
FROM dbo.Table3
WHERE (PersonId = a.PersonId)))
ORDER BY FamilyName
コードが
var Sigids = (from a in db.Table1 select a.PersonId);
var RecIds = (from a in db.Table2 select a.PersonId);
var AppIds = (from a in db.Table3 select a.PersonId);
var signatories = (from p in db.MainTable
where (Sigids.Contains(p.PersonId)
&& RecIds.Contains(p.PersonId)
&& AppIds.Contains(p.PersonId))
select new { CompleteName = p.CompleteName, p.PersonId });
をしようとしました変換するしかし、これはPERSONIDは、これらの3つのテーブルである場合にのみ結果。私がここで達成したいのは、表1 - 3のすべての名前をメインテーブルから表示したいということです。条件が
WHERE (PersonId IN
(SELECT PersonId
FROM dbo.Table1
WHERE (PersonId = a.PersonId))) OR
(PersonId IN
(SELECT PersonId
FROM dbo.Table2
WHERE (PersonId = a.PersonId))) OR
(PersonId IN
(SELECT PersonId
FROM dbo.Table3
WHERE (PersonId = a.PersonId)))
以下のSQLクエリにLINQでOR
オペレータの相当|
または||
の代わり&&
いずれかである場所に基づいて
'どこs1.IsActive == true'の中S1は何ですか? – CodingYoshi
SQLクエリのwhere条件が 'OR'を使用しているため、linqコードのwhere条件の' && 'は' || 'に変更する必要があります。 – ekad
@コーディングYoshi aw申し訳ありません。私は参加を削除し、私はそれを削除することを忘れました。 – KiRa