Tôi muốn tổng hợp ba trường khác nhau của một bảng trong một truy vấn. Tôi muốn có một tương đương LINQ này T-SQL:Nhận tổng của hai cột trong một truy vấn LINQ mà không cần nhóm
select sum(fld1), SUM(fld2), SUM(fld3) from MyTable where classID = 5
Tất cả các ví dụ tôi đã tìm thấy một trong hai sử dụng một nhóm bởi hoặc gọi truy vấn nhiều lần, một lần cho từng lĩnh vực mà cần phải được tóm gọn.
Tôi có một cái gì đó như thế này ngay bây giờ. Nhưng tôi không muốn thêm một nhóm theo mệnh đề cho nó vì nó không được yêu cầu trong biểu mẫu T-SQL của nó.
from a in MyTable
where a.classID == 5
group a by a.classID into g
select new
{
Sumfld1 = g.Sum(x => x.fld1),
Sumfld2 = g.Sum(x => x.fld2),
Sumfld3 = g.Sum(x => x.fld3)
}
Mọi đề xuất? Cảm ơn vì đã dành thời gian cho tôi.
Bạn có thể sử dụng 'nhóm a x 1 thành g' để áp dụng nhóm cần thiết bằng không có hiệu lực. – mellamokb
Liệu nó có thực sự tạo ra sự khác biệt thực tế không để giới thiệu nhóm theo mệnh đề? Truy vấn sử dụng cả hai cách trong bao lâu? – Enigmativity
tại sao bạn nhóm trên classId khi bạn cũng lọc trên classId. Tại sao không chỉ thả nhóm? –