私は立ち往生している、誰かが私にプッシュを与えてください。SQLクエリ/サブクエリをLINQ(VB)に変換する
ここに私のSQLクエリは..です
SELECT EqID, MakeID, Model, Description,
(SELECT MAX(EvDateEnd) AS MaxOfDateEnd
FROM tblEvent WHERE (EqID = tblEquip.EqID) AND (Event = 'REG')) AS RegExpire,
(SELECT Entity FROM tblEvent AS tblEvent_3 WHERE (EqID = tblEquip.EqID) AND(Event = N'EAE') AND (EvDateEnd IS NULL)) AS IssuedTo
FROM tblEquip
良い方法があれば、私は、このようにそれをやっているのはなぜ、私はすべての耳です。機器の行を示していますtblEquip
は、EqIDは、機器に関連する多くのイベントを示していますtblEvent PK で、EqIDは、例えばFK
ですが、私はレコードごとにイベントテーブルから最大EvDateEndを取得したいですtblEquipではtblEquipのすべてのレコードに「REG」イベントがあり、他のイベントには複数のREGイベントがあります。
一部のイベント(EAEなど)では、tblEvent.EvDateEndフィールドを空白のままにして、従業員(エンティティ)に車両を発行するなど、イベントが開いて進行中であることを示します。車両が返却されると、私はEvDateEndに日付を入力し、本質的にイベントを閉じる。