- 优化 子查询 sum/min/max/avg 默认加 isnull 防止为 NULL 情况;

This commit is contained in:
2881099
2022-05-10 09:28:04 +08:00
parent e2d6c890a9
commit 1b84a00696
22 changed files with 178 additions and 187 deletions

View File

@@ -980,8 +980,8 @@ ORDER BY rand()", t1);
all = a,
count = (long)select.As("b").Sum(b => b.Id)
});
Assert.Equal(@"SELECT a.""ID"" as1, a.""CLICKS"" as2, a.""TYPEGUID"" as3, a.""TITLE"" as4, a.""CREATETIME"" as5, (SELECT sum(b.""ID"")
FROM ""TB_TOPIC22"" b) as6
Assert.Equal(@"SELECT a.""ID"" as1, a.""CLICKS"" as2, a.""TYPEGUID"" as3, a.""TITLE"" as4, a.""CREATETIME"" as5, coalesce((SELECT sum(b.""ID"")
FROM ""TB_TOPIC22"" b), 0) as6
FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new
{
@@ -997,8 +997,8 @@ FROM ""TB_TOPIC22"" a", subquery);
all = a,
count = select.As("b").Min(b => b.Id)
});
Assert.Equal(@"SELECT a.""ID"" as1, a.""CLICKS"" as2, a.""TYPEGUID"" as3, a.""TITLE"" as4, a.""CREATETIME"" as5, (SELECT min(b.""ID"")
FROM ""TB_TOPIC22"" b) as6
Assert.Equal(@"SELECT a.""ID"" as1, a.""CLICKS"" as2, a.""TYPEGUID"" as3, a.""TITLE"" as4, a.""CREATETIME"" as5, coalesce((SELECT min(b.""ID"")
FROM ""TB_TOPIC22"" b), 0) as6
FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new
{
@@ -1014,8 +1014,8 @@ FROM ""TB_TOPIC22"" a", subquery);
all = a,
count = select.As("b").Max(b => b.Id)
});
Assert.Equal(@"SELECT a.""ID"" as1, a.""CLICKS"" as2, a.""TYPEGUID"" as3, a.""TITLE"" as4, a.""CREATETIME"" as5, (SELECT max(b.""ID"")
FROM ""TB_TOPIC22"" b) as6
Assert.Equal(@"SELECT a.""ID"" as1, a.""CLICKS"" as2, a.""TYPEGUID"" as3, a.""TITLE"" as4, a.""CREATETIME"" as5, coalesce((SELECT max(b.""ID"")
FROM ""TB_TOPIC22"" b), 0) as6
FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new
{
@@ -1031,8 +1031,8 @@ FROM ""TB_TOPIC22"" a", subquery);
all = a,
count = select.As("b").Avg(b => b.Id)
});
Assert.Equal(@"SELECT a.""ID"" as1, a.""CLICKS"" as2, a.""TYPEGUID"" as3, a.""TITLE"" as4, a.""CREATETIME"" as5, (SELECT avg(b.""ID"")
FROM ""TB_TOPIC22"" b) as6
Assert.Equal(@"SELECT a.""ID"" as1, a.""CLICKS"" as2, a.""TYPEGUID"" as3, a.""TITLE"" as4, a.""CREATETIME"" as5, coalesce((SELECT avg(b.""ID"")
FROM ""TB_TOPIC22"" b), 0) as6
FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new
{