0

次の SQL クエリがあり、LINQ で構築する必要がありますが、複雑すぎて簡単な方法を見つけることができません。:-/

最初のクエリは次のとおりです。

SELECT * FROM tbl_a
LEFT JOIN
(
    SELECT tbl_a.id AS id
    SUM(tbl_b.amount) AS amount
    FROM (tbl_a LEFT JOIN tbl_c ON tbl_a.id = tbl_c.from_this_id)
        LEFT JOIN tbl_b ON tbl_c.id = tbl_b.tbl_c_id
        WHERE (tbl_c.deleted = FALSE)
               AND tbl_b.deleted = FALSE
               AND tbl_b.status = 2
        GROUP BY tbl_a.id
) tbl_tmp
ON tbl_a.id = tbl_tmp.id
WHERE (tbl_tmp.amount Is NULL OR tbl_a.amount > tbl_tmp.amount)
      AND tbl_a.amount > 0
      AND tbl_a.item_ID = item.Id
      AND tbl_a.type_ID = type.Id
      AND tbl_a.deleted = FALSE

「item.Id」と「type.Id」は long 型のパラメーターなので、数値に置き換えることができます。

誰かが同じ結果の代替クエリを作成するのを手伝ってくれるので、LINQ で使用できますか? または、誰かがこれを直接LINQに変換できますか?!

4

0 に答える 0