- 修复 子查询 Count/Max/Min/Avg/Sum 使用了 Limit(1) 的 bug;#462

This commit is contained in:
28810 2020-09-16 13:54:04 +08:00
parent b83efc1c6b
commit fd8ed29c02
18 changed files with 76 additions and 118 deletions

View File

@ -929,8 +929,7 @@ namespace FreeSql.Tests.MySqlConnector
count = (long)select.As("b").Sum(b => b.Id) 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`) Assert.Equal(@"SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5, (SELECT sum(b.`Id`)
FROM `tb_topic` b FROM `tb_topic` b) as6
limit 0,1) as6
FROM `tb_topic` a", subquery); FROM `tb_topic` a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -947,8 +946,7 @@ FROM `tb_topic` a", subquery);
count = select.As("b").Min(b => b.Id) 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`) Assert.Equal(@"SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5, (SELECT min(b.`Id`)
FROM `tb_topic` b FROM `tb_topic` b) as6
limit 0,1) as6
FROM `tb_topic` a", subquery); FROM `tb_topic` a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -965,8 +963,7 @@ FROM `tb_topic` a", subquery);
count = select.As("b").Max(b => b.Id) 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`) Assert.Equal(@"SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5, (SELECT max(b.`Id`)
FROM `tb_topic` b FROM `tb_topic` b) as6
limit 0,1) as6
FROM `tb_topic` a", subquery); FROM `tb_topic` a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -983,8 +980,7 @@ FROM `tb_topic` a", subquery);
count = select.As("b").Avg(b => b.Id) 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`) Assert.Equal(@"SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5, (SELECT avg(b.`Id`)
FROM `tb_topic` b FROM `tb_topic` b) as6
limit 0,1) as6
FROM `tb_topic` a", subquery); FROM `tb_topic` a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {

View File

@ -855,8 +855,7 @@ namespace FreeSql.Tests.Odbc.Dameng
count = (long)select.As("b").Sum(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -873,8 +872,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Min(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -891,8 +889,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Max(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -909,8 +906,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Avg(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {

View File

@ -829,7 +829,7 @@ namespace FreeSql.Tests.Odbc.Default
all = a, all = a,
count = (long)select.As("b").Sum(b => b.Id) 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 TOP 1 sum(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 FROM [tb_topic22] b) as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -846,7 +846,7 @@ FROM [tb_topic22] a", subquery);
all = a, all = a,
count = select.As("b").Min(b => b.Id) 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 TOP 1 min(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 FROM [tb_topic22] b) as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -863,7 +863,7 @@ FROM [tb_topic22] a", subquery);
all = a, all = a,
count = select.As("b").Max(b => b.Id) 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 TOP 1 max(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 FROM [tb_topic22] b) as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -880,7 +880,7 @@ FROM [tb_topic22] a", subquery);
all = a, all = a,
count = select.As("b").Avg(b => b.Id) 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 TOP 1 avg(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 FROM [tb_topic22] b) as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new

View File

@ -820,8 +820,7 @@ namespace FreeSql.Tests.Odbc.KingbaseES
count = (long)select.As("b").Sum(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
limit 1) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -838,8 +837,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Min(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
limit 1) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -856,8 +854,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Max(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
limit 1) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -874,8 +871,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Avg(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
limit 1) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {

View File

@ -940,8 +940,7 @@ namespace FreeSql.Tests.Odbc.MySql
count = (long)select.As("b").Sum(b => b.Id) 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`) Assert.Equal(@"SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5, (SELECT sum(b.`Id`)
FROM `tb_topic` b FROM `tb_topic` b) as6
limit 0,1) as6
FROM `tb_topic` a", subquery); FROM `tb_topic` a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -958,8 +957,7 @@ FROM `tb_topic` a", subquery);
count = select.As("b").Min(b => b.Id) 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`) Assert.Equal(@"SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5, (SELECT min(b.`Id`)
FROM `tb_topic` b FROM `tb_topic` b) as6
limit 0,1) as6
FROM `tb_topic` a", subquery); FROM `tb_topic` a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -976,8 +974,7 @@ FROM `tb_topic` a", subquery);
count = select.As("b").Max(b => b.Id) 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`) Assert.Equal(@"SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5, (SELECT max(b.`Id`)
FROM `tb_topic` b FROM `tb_topic` b) as6
limit 0,1) as6
FROM `tb_topic` a", subquery); FROM `tb_topic` a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -994,8 +991,7 @@ FROM `tb_topic` a", subquery);
count = select.As("b").Avg(b => b.Id) 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`) Assert.Equal(@"SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5, (SELECT avg(b.`Id`)
FROM `tb_topic` b FROM `tb_topic` b) as6
limit 0,1) as6
FROM `tb_topic` a", subquery); FROM `tb_topic` a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {

View File

@ -856,8 +856,7 @@ namespace FreeSql.Tests.Odbc.Oracle
count = (long)select.As("b").Sum(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -874,8 +873,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Min(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -892,8 +890,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Max(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -910,8 +907,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Avg(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {

View File

@ -916,8 +916,7 @@ namespace FreeSql.Tests.Odbc.PostgreSQL
count = (long)select.As("b").Sum(b => b.Id) 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"") Assert.Equal(@"SELECT a.""id"" as1, a.""clicks"" as2, a.""typeguid"" as3, a.""title"" as4, a.""createtime"" as5, (SELECT sum(b.""id"")
FROM ""tb_topic"" b FROM ""tb_topic"" b) as6
limit 1) as6
FROM ""tb_topic"" a", subquery); FROM ""tb_topic"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -934,8 +933,7 @@ FROM ""tb_topic"" a", subquery);
count = select.As("b").Min(b => b.Id) 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"") Assert.Equal(@"SELECT a.""id"" as1, a.""clicks"" as2, a.""typeguid"" as3, a.""title"" as4, a.""createtime"" as5, (SELECT min(b.""id"")
FROM ""tb_topic"" b FROM ""tb_topic"" b) as6
limit 1) as6
FROM ""tb_topic"" a", subquery); FROM ""tb_topic"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -952,8 +950,7 @@ FROM ""tb_topic"" a", subquery);
count = select.As("b").Max(b => b.Id) 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"") Assert.Equal(@"SELECT a.""id"" as1, a.""clicks"" as2, a.""typeguid"" as3, a.""title"" as4, a.""createtime"" as5, (SELECT max(b.""id"")
FROM ""tb_topic"" b FROM ""tb_topic"" b) as6
limit 1) as6
FROM ""tb_topic"" a", subquery); FROM ""tb_topic"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -970,8 +967,7 @@ FROM ""tb_topic"" a", subquery);
count = select.As("b").Avg(b => b.Id) 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"") Assert.Equal(@"SELECT a.""id"" as1, a.""clicks"" as2, a.""typeguid"" as3, a.""title"" as4, a.""createtime"" as5, (SELECT avg(b.""id"")
FROM ""tb_topic"" b FROM ""tb_topic"" b) as6
limit 1) as6
FROM ""tb_topic"" a", subquery); FROM ""tb_topic"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {

View File

@ -810,7 +810,7 @@ namespace FreeSql.Tests.Odbc.SqlServer
all = a, all = a,
count = (long)select.As("b").Sum(b => b.Id) 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 TOP 1 sum(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 FROM [tb_topic22] b) as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -827,7 +827,7 @@ FROM [tb_topic22] a", subquery);
all = a, all = a,
count = select.As("b").Min(b => b.Id) 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 TOP 1 min(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 FROM [tb_topic22] b) as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -844,7 +844,7 @@ FROM [tb_topic22] a", subquery);
all = a, all = a,
count = select.As("b").Max(b => b.Id) 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 TOP 1 max(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 FROM [tb_topic22] b) as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -861,7 +861,7 @@ FROM [tb_topic22] a", subquery);
all = a, all = a,
count = select.As("b").Avg(b => b.Id) 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 TOP 1 avg(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 FROM [tb_topic22] b) as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new

View File

@ -859,8 +859,7 @@ namespace FreeSql.Tests.Dameng
count = (long)select.As("b").Sum(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -877,8 +876,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Min(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -895,8 +893,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Max(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -913,8 +910,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Avg(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {

View File

@ -855,7 +855,7 @@ namespace FreeSql.Tests.Firebird
all = a, all = a,
count = (long)select.As("b").Sum(b => b.Id) 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 FIRST 1 sum(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 FROM ""TB_TOPIC22"" b) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -872,7 +872,7 @@ FROM ""TB_TOPIC22"" a", subquery);
all = a, all = a,
count = select.As("b").Min(b => b.Id) 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 FIRST 1 min(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 FROM ""TB_TOPIC22"" b) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -889,7 +889,7 @@ FROM ""TB_TOPIC22"" a", subquery);
all = a, all = a,
count = select.As("b").Max(b => b.Id) 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 FIRST 1 max(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 FROM ""TB_TOPIC22"" b) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -906,7 +906,7 @@ FROM ""TB_TOPIC22"" a", subquery);
all = a, all = a,
count = select.As("b").Avg(b => b.Id) 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 FIRST 1 avg(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 FROM ""TB_TOPIC22"" b) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new

View File

@ -830,7 +830,7 @@ namespace FreeSql.Tests.MsAccess
all = a, all = a,
count = (long)select.As("b").Sum(b => b.Id) count = (long)select.As("b").Sum(b => b.Id)
}); });
Assert.Equal(@"SELECT a.[Id] as as1, a.[Clicks] as as2, a.[TypeGuid] as as3, a.[Title] as as4, a.[CreateTime] as as5, (SELECT TOP 1 sum(b.[Id]) Assert.Equal(@"SELECT a.[Id] as as1, a.[Clicks] as as2, a.[TypeGuid] as as3, a.[Title] as as4, a.[CreateTime] as as5, (SELECT sum(b.[Id])
FROM [tb_topic22] b) as as6 FROM [tb_topic22] b) as as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -847,7 +847,7 @@ FROM [tb_topic22] a", subquery);
all = a, all = a,
count = select.As("b").Min(b => b.Id) count = select.As("b").Min(b => b.Id)
}); });
Assert.Equal(@"SELECT a.[Id] as as1, a.[Clicks] as as2, a.[TypeGuid] as as3, a.[Title] as as4, a.[CreateTime] as as5, (SELECT TOP 1 min(b.[Id]) Assert.Equal(@"SELECT a.[Id] as as1, a.[Clicks] as as2, a.[TypeGuid] as as3, a.[Title] as as4, a.[CreateTime] as as5, (SELECT min(b.[Id])
FROM [tb_topic22] b) as as6 FROM [tb_topic22] b) as as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -864,7 +864,7 @@ FROM [tb_topic22] a", subquery);
all = a, all = a,
count = select.As("b").Max(b => b.Id) count = select.As("b").Max(b => b.Id)
}); });
Assert.Equal(@"SELECT a.[Id] as as1, a.[Clicks] as as2, a.[TypeGuid] as as3, a.[Title] as as4, a.[CreateTime] as as5, (SELECT TOP 1 max(b.[Id]) Assert.Equal(@"SELECT a.[Id] as as1, a.[Clicks] as as2, a.[TypeGuid] as as3, a.[Title] as as4, a.[CreateTime] as as5, (SELECT max(b.[Id])
FROM [tb_topic22] b) as as6 FROM [tb_topic22] b) as as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -881,7 +881,7 @@ FROM [tb_topic22] a", subquery);
all = a, all = a,
count = select.As("b").Avg(b => b.Id) count = select.As("b").Avg(b => b.Id)
}); });
Assert.Equal(@"SELECT a.[Id] as as1, a.[Clicks] as as2, a.[TypeGuid] as as3, a.[Title] as as4, a.[CreateTime] as as5, (SELECT TOP 1 avg(b.[Id]) Assert.Equal(@"SELECT a.[Id] as as1, a.[Clicks] as as2, a.[TypeGuid] as as3, a.[Title] as as4, a.[CreateTime] as as5, (SELECT avg(b.[Id])
FROM [tb_topic22] b) as as6 FROM [tb_topic22] b) as as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new

View File

@ -992,8 +992,7 @@ LEFT JOIN `TestTypeParentInfo` a__Type__Parent ON a__Type__Parent.`Id` = a__Type
count = (long)select.As("b").Sum(b => b.Id) 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`) Assert.Equal(@"SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5, (SELECT sum(b.`Id`)
FROM `tb_topic` b FROM `tb_topic` b) as6
limit 0,1) as6
FROM `tb_topic` a", subquery); FROM `tb_topic` a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -1010,8 +1009,7 @@ FROM `tb_topic` a", subquery);
count = select.As("b").Min(b => b.Id) 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`) Assert.Equal(@"SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5, (SELECT min(b.`Id`)
FROM `tb_topic` b FROM `tb_topic` b) as6
limit 0,1) as6
FROM `tb_topic` a", subquery); FROM `tb_topic` a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -1028,8 +1026,7 @@ FROM `tb_topic` a", subquery);
count = select.As("b").Max(b => b.Id) 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`) Assert.Equal(@"SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5, (SELECT max(b.`Id`)
FROM `tb_topic` b FROM `tb_topic` b) as6
limit 0,1) as6
FROM `tb_topic` a", subquery); FROM `tb_topic` a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -1046,8 +1043,7 @@ FROM `tb_topic` a", subquery);
count = select.As("b").Avg(b => b.Id) 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`) Assert.Equal(@"SELECT a.`Id` as1, a.`Clicks` as2, a.`TypeGuid` as3, a.`Title` as4, a.`CreateTime` as5, (SELECT avg(b.`Id`)
FROM `tb_topic` b FROM `tb_topic` b) as6
limit 0,1) as6
FROM `tb_topic` a", subquery); FROM `tb_topic` a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {

View File

@ -856,8 +856,7 @@ namespace FreeSql.Tests.Oracle
count = (long)select.As("b").Sum(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -874,8 +873,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Min(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -892,8 +890,7 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Max(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -910,10 +907,9 @@ FROM ""TB_TOPIC22"" a", subquery);
count = select.As("b").Avg(b => b.Id) 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"") 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 FROM ""TB_TOPIC22"" b) as6
WHERE ROWNUM < 2) as6
FROM ""TB_TOPIC22"" a", subquery); FROM ""TB_TOPIC22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.Limit(100).ToList(a => new
{ {
all = a, all = a,
count = select.As("b").Avg(b => b.Id) count = select.As("b").Avg(b => b.Id)

View File

@ -933,8 +933,7 @@ namespace FreeSql.Tests.PostgreSQL
count = (long)select.As("b").Sum(b => b.Id) 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"") Assert.Equal(@"SELECT a.""id"" as1, a.""clicks"" as2, a.""typeguid"" as3, a.""title"" as4, a.""createtime"" as5, (SELECT sum(b.""id"")
FROM ""tb_topic"" b FROM ""tb_topic"" b) as6
limit 1) as6
FROM ""tb_topic"" a", subquery); FROM ""tb_topic"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -951,8 +950,7 @@ FROM ""tb_topic"" a", subquery);
count = select.As("b").Min(b => b.Id) 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"") Assert.Equal(@"SELECT a.""id"" as1, a.""clicks"" as2, a.""typeguid"" as3, a.""title"" as4, a.""createtime"" as5, (SELECT min(b.""id"")
FROM ""tb_topic"" b FROM ""tb_topic"" b) as6
limit 1) as6
FROM ""tb_topic"" a", subquery); FROM ""tb_topic"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -969,8 +967,7 @@ FROM ""tb_topic"" a", subquery);
count = select.As("b").Max(b => b.Id) 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"") Assert.Equal(@"SELECT a.""id"" as1, a.""clicks"" as2, a.""typeguid"" as3, a.""title"" as4, a.""createtime"" as5, (SELECT max(b.""id"")
FROM ""tb_topic"" b FROM ""tb_topic"" b) as6
limit 1) as6
FROM ""tb_topic"" a", subquery); FROM ""tb_topic"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -987,8 +984,7 @@ FROM ""tb_topic"" a", subquery);
count = select.As("b").Avg(b => b.Id) 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"") Assert.Equal(@"SELECT a.""id"" as1, a.""clicks"" as2, a.""typeguid"" as3, a.""title"" as4, a.""createtime"" as5, (SELECT avg(b.""id"")
FROM ""tb_topic"" b FROM ""tb_topic"" b) as6
limit 1) as6
FROM ""tb_topic"" a", subquery); FROM ""tb_topic"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {

View File

@ -934,8 +934,7 @@ namespace FreeSql.Tests.ShenTong
count = (long)select.As("b").Sum(b => b.Id) 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"") Assert.Equal(@"SELECT a.""ID"" as1, a.""CLICKS"" as2, a.""TYPEGUID"" as3, a.""TITLE"" as4, a.""CREATETIME"" as5, (SELECT sum(b.""ID"")
FROM ""TB_TOPIC"" b FROM ""TB_TOPIC"" b) as6
limit 1) as6
FROM ""TB_TOPIC"" a", subquery); FROM ""TB_TOPIC"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -952,8 +951,7 @@ FROM ""TB_TOPIC"" a", subquery);
count = select.As("b").Min(b => b.Id) 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"") Assert.Equal(@"SELECT a.""ID"" as1, a.""CLICKS"" as2, a.""TYPEGUID"" as3, a.""TITLE"" as4, a.""CREATETIME"" as5, (SELECT min(b.""ID"")
FROM ""TB_TOPIC"" b FROM ""TB_TOPIC"" b) as6
limit 1) as6
FROM ""TB_TOPIC"" a", subquery); FROM ""TB_TOPIC"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -970,8 +968,7 @@ FROM ""TB_TOPIC"" a", subquery);
count = select.As("b").Max(b => b.Id) 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"") Assert.Equal(@"SELECT a.""ID"" as1, a.""CLICKS"" as2, a.""TYPEGUID"" as3, a.""TITLE"" as4, a.""CREATETIME"" as5, (SELECT max(b.""ID"")
FROM ""TB_TOPIC"" b FROM ""TB_TOPIC"" b) as6
limit 1) as6
FROM ""TB_TOPIC"" a", subquery); FROM ""TB_TOPIC"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -988,8 +985,7 @@ FROM ""TB_TOPIC"" a", subquery);
count = select.As("b").Avg(b => b.Id) 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"") Assert.Equal(@"SELECT a.""ID"" as1, a.""CLICKS"" as2, a.""TYPEGUID"" as3, a.""TITLE"" as4, a.""CREATETIME"" as5, (SELECT avg(b.""ID"")
FROM ""TB_TOPIC"" b FROM ""TB_TOPIC"" b) as6
limit 1) as6
FROM ""TB_TOPIC"" a", subquery); FROM ""TB_TOPIC"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {

View File

@ -866,7 +866,7 @@ namespace FreeSql.Tests.SqlServer
all = a, all = a,
count = (long)select.As("b").Sum(b => b.Id) 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 TOP 1 sum(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 FROM [tb_topic22] b) as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -883,7 +883,7 @@ FROM [tb_topic22] a", subquery);
all = a, all = a,
count = select.As("b").Min(b => b.Id) 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 TOP 1 min(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 FROM [tb_topic22] b) as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -900,7 +900,7 @@ FROM [tb_topic22] a", subquery);
all = a, all = a,
count = select.As("b").Max(b => b.Id) 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 TOP 1 max(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 FROM [tb_topic22] b) as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
@ -917,7 +917,7 @@ FROM [tb_topic22] a", subquery);
all = a, all = a,
count = select.As("b").Avg(b => b.Id) 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 TOP 1 avg(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 FROM [tb_topic22] b) as6
FROM [tb_topic22] a", subquery); FROM [tb_topic22] a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new

View File

@ -837,8 +837,7 @@ namespace FreeSql.Tests.Sqlite
count = (long)select.As("b").Sum(b => b.Id) 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"") 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 FROM ""tb_topic22"" b) as6
limit 0,1) as6
FROM ""tb_topic22"" a", subquery); FROM ""tb_topic22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -855,8 +854,7 @@ FROM ""tb_topic22"" a", subquery);
count = select.As("b").Min(b => b.Id) 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"") 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 FROM ""tb_topic22"" b) as6
limit 0,1) as6
FROM ""tb_topic22"" a", subquery); FROM ""tb_topic22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -873,8 +871,7 @@ FROM ""tb_topic22"" a", subquery);
count = select.As("b").Max(b => b.Id) 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"") 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 FROM ""tb_topic22"" b) as6
limit 0,1) as6
FROM ""tb_topic22"" a", subquery); FROM ""tb_topic22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {
@ -891,8 +888,7 @@ FROM ""tb_topic22"" a", subquery);
count = select.As("b").Avg(b => b.Id) 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"") 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 FROM ""tb_topic22"" b) as6
limit 0,1) as6
FROM ""tb_topic22"" a", subquery); FROM ""tb_topic22"" a", subquery);
var subqueryList = select.ToList(a => new var subqueryList = select.ToList(a => new
{ {

View File

@ -921,7 +921,13 @@ namespace FreeSql.Internal
fsqlType = fsql?.GetType(); fsqlType = fsql?.GetType();
if (fsqlType == null) break; if (fsqlType == null) break;
var fsqlSelect0 = fsql as Select0Provider; var fsqlSelect0 = fsql as Select0Provider;
if (exp3.Method.Name != "ToList") fsqlSelect0._limit = 1; switch (exp3.Method.Name) {
case "Any": //exists
case "ToOne":
case "First":
fsqlSelect0._limit = 1; //#462
break;
}
if (tsc.dbParams != null) fsqlSelect0._params = tsc.dbParams; if (tsc.dbParams != null) fsqlSelect0._params = tsc.dbParams;
fsqltables = fsqlSelect0._tables; fsqltables = fsqlSelect0._tables;
//fsqltables[0].Alias = $"{tsc._tables[0].Alias}_{fsqltables[0].Alias}"; //fsqltables[0].Alias = $"{tsc._tables[0].Alias}_{fsqltables[0].Alias}";