Oracle 多表查询是遇到字段错误 返回
var list2 = DbBase.GetInstance().Queryable<DbColumn, DbTable>((col, tb) => new object[] {
JoinType.Left, tb.ProjectId ==col.ProjectId && tb.Name == col.TableName
})
.Select((col, tb) => new { col, tb })
.ToList();
生成SQL没有下划线,实际数据库字段是有下划线的,在属性上做了配置,例如[SugarColumn(ColumnName = "PROJECT_ID" )]:
SELECT "COL". "PROJECTID" AS "DBCOLUMN.PROJECT_ID", "COL". "TABLENAME" AS "DBCOLUMN.TABLE_NAME",
"COL". "COLUMNNAME" AS "DBCOLUMN.COLUMN_NAME", "COL". "DATATYPE" AS "DBCOLUMN.DATA_TYPE",
"COL". "DATALENGTH" AS "DBCOLUMN.DATA_LENGTH", "COL". "DATASCALE" AS "DBCOLUMN.DATA_SCALE",
"COL". "DATAPRECISION" AS "DBCOLUMN.DATA_PRECISION", "COL". "NULLABLE" AS "DBCOLUMN.NULLABLE",
"COL". "COMMENTS" AS "DBCOLUMN.COMMENTS", "COL". "POSITION" AS "DBCOLUMN.POSITION",
"TB". "PROJECTID" AS "DBTABLE.PROJECT_ID", "TB". "NAME" AS "DBTABLE.NAME",
"TB". "COMMENTS" AS "DBTABLE.COMMENTS"
FROM "DB_COLUMN" col
LEFT JOIN "DB_TABLE" tb
ON (("TB". "PROJECT_ID" = "COL". "PROJECT_ID") AND ("TB". "NAME" = "COL". "TABLE_NAME"))
注:普通查询是正常的
热忱回答(7)
-
fate stay night VIP0
2018/2/9版本升级到最新
0 回复 -
fate stay night VIP0
2018/2/9记得这个BUG修复过了
0 回复 -
乘风破浪 VIP0
2018/2/9首先非常感谢您的回复,谢谢!
版本我是从https://github.com/sunkaixuan/SqlSugar拿下来的
0 回复 -
乘风破浪 VIP0
2018/2/9另外做子查询的时候
SELECT "NAME"
FROM "DB_TABLE"
WHERE (("PROJECT_ID" = "COL". "PROJECT_ID") AND ("NAME" = "COL". "TABLE_NAME")) rownum = 1
rownum 前面好像少了一个 and
0 回复 -
fate stay night VIP0
2018/2/9这个要看你代码是怎么写的贴 出的 上面的SQL的 C#代码
0 回复 -
fate stay night VIP0
2018/2/9全部解决
0 回复 -
fate stay night VIP0
2018/2/9更新一下
0 回复