sqlsugar 分表查询别名如何定义 返回

.SplitTable(query.BeginTime, query.EndTime)
现在生成的sql 是这种
select rowId as wId,columnName as cName,columnName1,columnName2
from
(
select rowId,columnName,columnName1,columnName2 from table_20220622 union all
select columnName,columnName1,columnName2 from table_20220623
) T
能否直接生成这样sql 别名定义
select wId,cName,columnName1,columnName2
from
(
select rowId as wId,columnName as cName,columnName1,columnName2 from table_20220622 union all
select columnName as cName,columnName1,columnName2 from table_20220623
) T
请问有办法实现这种吗
热忱回答(6)
-
fate sta VIP0
3天前可以的 SplitTale(xx).Select(it=>Class(){ x=it.xxx })
0 回复 -
奋青 VIP0
3天前@fate sta:这个写法我试过跟现在 这种方式生成的sql是一样的
var sql1=Db.Queryable<class>(x=>Rid=x.RowId)
.SplitTable(query.BeginTime, query.EndTime).Select(x=>rowId=x.wid)
var data = await Db.UnionAll(sq1)
.ToPageListAsync(index, size, total);
这是我现在写的方式的 不知道是不是我写错了,可是生成的sql 还是这种SELECT COUNT(1) FROM (
SELECT unionTable.* FROM (
SELECT "ROWID" AS "RID" FROM
(
SELECT "ROWID" FROM "TABLE_20220623" UNION ALL
SELECT "ROWID" FROM "TABLE_20220622"
) unionTable) unionTable
) CountTable能否在生成 sql的时候将 列名直接定成别名
SELECT "ROWID" AS "RID" FROM "TABLE_20220623" UNION ALL
SELECT "ROWID" AS "RID" FROM "TABLE_20220622"0 回复 -
奋青 VIP0
3天前@fate sta:大神 我描述下我的个人需求,现在使用的数据库是 orcacle,因为设计表的时候原来并没有设计 唯一Id,所以想用 oracle 自带的RowId来进行使用,可是这个RowId 不能使用UNION ALL 来进行连表,需要先把 RowId 在查询的时候 改变成别名 这样就可以用 UNION ALL 进行连表查询了,
否则 在查询的时候 ORACLE会报错 ORA-01446: 无法使用 DISTINCT, GROUP BY 等子句从视图中选择 ROWID 或采样 ,
所以才有了我上面对查询时候 字段定成别名 的需求
0 回复 -
fate sta VIP0
3天前文档分页,有手动处理ROWID的方法
0 回复 -
奋青 VIP0
3天前@fate sta:大神 我找了一圈 在文档分页中没有找到有关于 ROWID 的手动处理方式
0 回复 -
奋青 VIP0
3天前@fate sta:大神我 指的rowid 指的是 ORACLE 自带的 不是分页的这个 rownumber 请问有解吗
0 回复