【发布时间】:2021-05-03 23:29:16
【问题描述】:
我的sql查询:
SELECT
a.`ItemCode`, a.`UnitCost`, a.`UOM`, a.`Description`,
SUM(b.QtyIN) AS 'Total', a.`UnitCost` AS 'Adjusted cost'
FROM
stk_master AS a
LEFT JOIN
(SELECT *
FROM stk_detail_trn_in
WHERE `LocationCode` = 'PGV001'
AND `DocType3` = 'OS-NSI') AS b ON a.`ItemCode` = b.`ItemCode`
GROUP BY
a.`ItemCode`;
这是 LINQ 查询:
var data = (from e in master
join d in stockIn on e.ItemCode equals d.ItemCode into table1
from d in table1.DefaultIfEmpty()
where d.LocationCode == id && d.DocType3 == "OS-NSI"
select new ViewModelListInventory
{
stk_master = e,
stk_detail_trn_in = d,
})
.GroupBy(x => x.stk_detail_trn_in.ItemCode)
.Select(d => new stk_detail_trn_in { QtyIN = d.Sum(x => x.stk_detail_trn_in.QtyIN)})
.ToList();
【问题讨论】:
-
请提供您的 SQL 查询以进行检查。目前还不清楚。请更新您的问题。 :)
-
这是我的 sql 查询: SELECT a.ItemCode,a.UnitCost,a.UOM,a.Description,SUM(b.QtyIN) AS 'Total', a.UnitCostAS 'Adjusted cost' FROM stk_master 作为 LEFT JOIN (SELECT * FROM stk_detail_trn_in WHERELocationCode= 'PGV001' ANDDocType3 = 'OS-NSI') AS b ON a.ItemCode = b.ItemCode GROUP BY a.ItemCode;
-
好的。让我检查一下。
-
你有问题
group by。您正在尝试使用一列进行分组,但在选择部分中,您有 a.UnitCost, a.UOM, a.Description,a.UnitCostAS 'Adjusted cost' 这可能在 sql server 中不起作用.请更正您的 SQL。 :) -
如上所述这是无效的SQL,所以转换成LINQ没有意义。