code: func (b *PlanBuilder) buildProjectionFieldNameFromColumns(field *ast.SelectField, c *expression.Column) (colName, origColName, tblName, origTblName, dbName model.CIStr) {
  	if astCol, ok := getInnerFromParenthesesAndUnaryPlus(field.Expr).(*ast.ColumnNameExpr); ok {
  		origColName, tblName, dbName = astCol.Name.Name, astCol.Name.Table, astCol.Name.Schema
  	}
  	if field.AsName.L != "" {
  		colName = field.AsName
  	} else {
  		colName = origColName
  	}
  	if tblName.L == "" {
  		tblName = c.TblName
  	}
  	if dbName.L == "" {
  		dbName = c.DBName
  	}
  	return colName, origColName, tblName, c.OrigTblName, c.DBName
  }
docs: // buildProjectionFieldNameFromColumns builds the field name, table name and database name when field expression is a column reference.