### Description

`FROM test | eval x1 = pow(emp_no, 1), x2 = pow(x1, 1), x3 = pow(x2, 2)`

or

`FROM test | eval x1 = substring(ip1, 3), x2 = substring(x1, 2), x3 = substring(x2, 2)`

or

`FROM test | eval x1 = concat(ip1, ip2), x2 = concat(x1, "--"), x3 = concat(x2, "**")`

will fail with 

```
                "type": "verification_exception",
                "reason": "Found 1 problem\nline 1:65: Unknown column [x2], did you mean [x1]?"
```

Spawned from https://github.com/elastic/elasticsearch/issues/99472
x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/analysis/Analyzer.java
}
        private LogicalPlan resolveEval(Eval eval, List<Attribute> childOutput) {
            List<Attribute> allResolvedInputs = new ArrayList<>(childOutput);
            List<Alias> newFields = new ArrayList<>();
            boolean changed = false;
            for (Alias field : eval.fields()) {
                Alias result = (Alias) field.transformUp(UnresolvedAttribute.class, ua -> resolveAttribute(ua, allResolvedInputs));
                changed |= result != field;
                newFields.add(result);
                if (result.resolved()) {
                    
                    Attribute existing = allResolvedInputs.stream()
                        .filter(attr -> attr.name().equals(result.name()))
                        .findFirst()
                        .orElse(null);
                    if (existing != null) {
                        allResolvedInputs.remove(existing);
                    }
                    allResolvedInputs.add(result.toAttribute());
                }
            }
            return changed ? new Eval(eval.source(), eval.child(), newFields) : eval;
        }
        private LogicalPlan resolveKeep(Project p, List<Attribute> childOutput) {
            List<NamedExpression> resolvedProjections = new ArrayList<>();
            var projections = p.projections();
            
            
            if (projections.isEmpty() || (projections.size() == 1 && projections.get(0) instanceof UnresolvedStar)) {
                resolvedProjections.addAll(childOutput);